> ## Documentation Index
> Fetch the complete documentation index at: https://docs.firedrill.run/llms.txt
> Use this file to discover all available pages before exploring further.

# Read one exact Tool setup and its durable outcome



## OpenAPI

````yaml /api-reference/openapi.json get /v1/projects/{projectId}/tool-setups/{setupId}
openapi: 3.1.0
info:
  title: Firedrill Control API
  version: 1.0.0
  description: >-
    The control plane for drills, drill runs, and the worlds they run in. Errors
    always carry the canonical envelope; unsafe operations require an
    Idempotency-Key; long work returns an operation resource.
servers:
  - url: https://api.firedrill.run
security:
  - controlCredential: []
paths:
  /v1/projects/{projectId}/tool-setups/{setupId}:
    get:
      summary: Read one exact Tool setup and its durable outcome
      operationId: toolSetups.get
      parameters:
        - name: projectId
          in: path
          required: true
          schema:
            type: string
            pattern: ^prj_[0-9a-z]{12,32}$
        - name: setupId
          in: path
          required: true
          schema:
            type: string
            pattern: ^setup_[0-9a-z]{12,32}$
      responses:
        '200':
          description: Saved Tool setup
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToolSetup'
        default:
          description: Canonical error envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
components:
  schemas:
    ToolSetup:
      type: object
      properties:
        schemaVersion:
          type: number
          enum:
            - 1
        setupId:
          type: string
          pattern: ^setup_[0-9a-z]{12,32}$
        organizationId:
          type: string
          pattern: ^org_[0-9a-z]{12,32}$
        projectId:
          type: string
          pattern: ^prj_[0-9a-z]{12,32}$
        operationId:
          type: string
          pattern: ^op_[0-9a-z]{12,32}$
        requestHash:
          type: string
          pattern: ^sha256:[0-9a-f]{64}$
        request:
          type: object
          properties:
            name:
              type: string
              minLength: 1
              maxLength: 100
            use:
              type: string
              enum:
                - reusable
                - automated
            tools:
              minItems: 1
              maxItems: 8
              type: array
              items:
                type: object
                properties:
                  libraryEntryId:
                    type: string
                    pattern: ^[a-z0-9][a-z0-9-]{0,79}$
                  expectedPackageArchiveDigest:
                    type: string
                    pattern: ^sha256:[0-9a-f]{64}$
                  initialState:
                    type: string
                    enum:
                      - starter
                      - empty
                  instanceId:
                    type: string
                    minLength: 1
                    maxLength: 96
                    pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                required:
                  - libraryEntryId
                  - expectedPackageArchiveDigest
                  - initialState
                additionalProperties: false
            previousSetupId:
              type: string
              pattern: ^setup_[0-9a-z]{12,32}$
            expectedPreviousBuildHash:
              type: string
              pattern: ^sha256:[0-9a-f]{64}$
            testDefinitions:
              $ref: '#/components/schemas/ToolTestDefinitions'
          required:
            - use
            - tools
          additionalProperties: false
        state:
          type: string
          enum:
            - pending
            - building
            - preparing
            - ready
            - failed
            - cancelled
        version:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        source:
          type: object
          properties:
            sourceDraftId:
              type: string
              pattern: ^draft_[0-9a-z]{12,32}$
            revision:
              type: integer
              minimum: 1
              maximum: 2147483647
            sourceDigest:
              type: string
              pattern: ^sha256:[0-9a-f]{64}$
          required:
            - sourceDraftId
            - revision
            - sourceDigest
          additionalProperties: false
        buildAttemptId:
          type: string
          pattern: ^attempt_[0-9a-z]{12,32}$
        buildOperationId:
          type: string
          pattern: ^op_[0-9a-z]{12,32}$
        buildHash:
          type: string
          pattern: ^sha256:[0-9a-f]{64}$
        environmentId:
          type: string
          pattern: ^env_[0-9a-z]{12,32}$
        preparationOperationId:
          type: string
          pattern: ^op_[0-9a-z]{12,32}$
        error:
          type: object
          properties:
            schemaVersion:
              type: number
              enum:
                - 1
            code:
              type: string
              pattern: ^[a-z][a-z0-9-]*\.[A-Z][A-Z0-9_]*$
            source:
              type: string
              enum:
                - framework
                - world
                - tool
                - target
                - assertion
                - reporter
                - control
            message:
              type: string
              minLength: 1
              maxLength: 4000
            retryable:
              type: boolean
            correlationId:
              type: string
              pattern: ^corr_[A-Za-z0-9][A-Za-z0-9_-]{5,95}$
            issues:
              default: []
              type: array
              items:
                type: object
                properties:
                  code:
                    type: string
                    minLength: 1
                    maxLength: 128
                  message:
                    type: string
                    minLength: 1
                    maxLength: 2000
                  path:
                    type: array
                    items:
                      anyOf:
                        - type: string
                        - type: integer
                          minimum: 0
                          maximum: 9007199254740991
                  suggestion:
                    type: string
                    minLength: 1
                    maxLength: 4000
                required:
                  - code
                  - message
                additionalProperties: {}
            details:
              type: object
              additionalProperties:
                $ref: '#/components/schemas/ToolSetup___schema0'
            evidence:
              type: object
              properties:
                runId:
                  type: string
                  pattern: ^run_[A-Za-z0-9][A-Za-z0-9_-]{5,95}$
                sequence:
                  type: integer
                  minimum: 0
                  exclusiveMinimum: true
                  maximum: 9007199254740991
              additionalProperties: {}
          required:
            - schemaVersion
            - code
            - source
            - message
            - retryable
            - issues
          additionalProperties: {}
        createdBy:
          type: string
          minLength: 1
          maxLength: 255
        createdAtMs:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        updatedAtMs:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        finishedAtMs:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
      required:
        - schemaVersion
        - setupId
        - organizationId
        - projectId
        - operationId
        - requestHash
        - request
        - state
        - version
        - createdBy
        - createdAtMs
        - updatedAtMs
      additionalProperties: false
    ErrorEnvelope:
      type: object
      properties:
        code:
          type: string
          pattern: ^(control|world)\.[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$
        message:
          type: string
          minLength: 1
        correlationId:
          type: string
          minLength: 1
        retryable:
          type: boolean
        retryAfterMs:
          type: integer
          exclusiveMinimum: 0
          maximum: 9007199254740991
        operationId:
          type: string
        source:
          type: string
          enum:
            - platform
            - simulated_provider
        issues:
          type: array
          items:
            type: object
            properties:
              path:
                type: string
              code:
                type: string
              message:
                type: string
            required:
              - path
              - code
              - message
            additionalProperties: false
        details:
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
        evidence:
          type: object
          properties:
            sessionId:
              type: string
            runId:
              type: string
            journalSeq:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            buildHash:
              type: string
          additionalProperties: false
      required:
        - code
        - message
        - correlationId
        - retryable
        - source
      additionalProperties: true
    ToolTestDefinitions:
      type: object
      properties:
        targets:
          minItems: 1
          maxItems: 100
          type: array
          items:
            type: object
            properties:
              schemaVersion:
                type: number
                enum:
                  - 1
              target:
                oneOf:
                  - type: object
                    properties:
                      id:
                        type: string
                        minLength: 1
                        maxLength: 96
                        pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                      kind:
                        type: string
                        enum:
                          - module
                      bindings:
                        minItems: 1
                        maxItems: 4
                        type: array
                        items:
                          type: string
                          enum:
                            - direct
                            - http
                            - mcp
                            - cli
                      bindingEnvironment:
                        type: object
                        additionalProperties:
                          type: string
                          enum:
                            - FIREDRILL_HTTP_URL
                            - FIREDRILL_HTTP_TOKEN
                            - FIREDRILL_MCP_URL
                            - FIREDRILL_MCP_TOKEN
                            - FIREDRILL_CLI_URL
                            - FIREDRILL_CLI_TOKEN
                      module:
                        type: string
                        minLength: 1
                        maxLength: 1024
                      export:
                        default: default
                        type: string
                        minLength: 1
                        maxLength: 128
                      timeoutMs:
                        type: integer
                        minimum: 0
                        exclusiveMinimum: true
                        maximum: 3600000
                    required:
                      - id
                      - kind
                      - bindings
                      - module
                      - export
                      - timeoutMs
                    additionalProperties: false
                  - type: object
                    properties:
                      id:
                        type: string
                        minLength: 1
                        maxLength: 96
                        pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                      kind:
                        type: string
                        enum:
                          - command
                      bindings:
                        minItems: 1
                        maxItems: 3
                        type: array
                        items:
                          type: string
                          enum:
                            - http
                            - mcp
                            - cli
                      bindingEnvironment:
                        type: object
                        additionalProperties:
                          type: string
                          enum:
                            - FIREDRILL_HTTP_URL
                            - FIREDRILL_HTTP_TOKEN
                            - FIREDRILL_MCP_URL
                            - FIREDRILL_MCP_TOKEN
                            - FIREDRILL_CLI_URL
                            - FIREDRILL_CLI_TOKEN
                      executable:
                        type: string
                        minLength: 1
                        maxLength: 1024
                      arguments:
                        default: []
                        type: array
                        items:
                          type: string
                          maxLength: 4096
                      workingDirectory:
                        type: string
                        minLength: 1
                        maxLength: 1024
                      environmentFromHost:
                        default: {}
                        type: object
                        additionalProperties:
                          type: string
                          pattern: ^[A-Za-z_][A-Za-z0-9_]*$
                      timeoutMs:
                        type: integer
                        minimum: 0
                        exclusiveMinimum: true
                        maximum: 3600000
                    required:
                      - id
                      - kind
                      - bindings
                      - executable
                      - arguments
                      - environmentFromHost
                      - timeoutMs
                    additionalProperties: false
                  - type: object
                    properties:
                      id:
                        type: string
                        minLength: 1
                        maxLength: 96
                        pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                      kind:
                        type: string
                        enum:
                          - http
                      bindings:
                        minItems: 1
                        maxItems: 3
                        type: array
                        items:
                          type: string
                          enum:
                            - http
                            - mcp
                            - cli
                      bindingEnvironment:
                        type: object
                        additionalProperties:
                          type: string
                          enum:
                            - FIREDRILL_HTTP_URL
                            - FIREDRILL_HTTP_TOKEN
                            - FIREDRILL_MCP_URL
                            - FIREDRILL_MCP_TOKEN
                            - FIREDRILL_CLI_URL
                            - FIREDRILL_CLI_TOKEN
                      url:
                        type: string
                        format: uri
                      method:
                        type: string
                        enum:
                          - POST
                          - PUT
                      headersFromEnvironment:
                        default: {}
                        type: object
                        additionalProperties:
                          type: string
                          pattern: ^[A-Za-z_][A-Za-z0-9_]*$
                      timeoutMs:
                        type: integer
                        minimum: 0
                        exclusiveMinimum: true
                        maximum: 3600000
                    required:
                      - id
                      - kind
                      - bindings
                      - url
                      - method
                      - headersFromEnvironment
                      - timeoutMs
                    additionalProperties: false
                  - type: object
                    properties:
                      id:
                        type: string
                        minLength: 1
                        maxLength: 96
                        pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                      kind:
                        type: string
                        enum:
                          - external
                      bindings:
                        minItems: 1
                        maxItems: 4
                        type: array
                        items:
                          type: string
                          enum:
                            - direct
                            - http
                            - mcp
                            - cli
                      bindingEnvironment:
                        type: object
                        additionalProperties:
                          type: string
                          enum:
                            - FIREDRILL_HTTP_URL
                            - FIREDRILL_HTTP_TOKEN
                            - FIREDRILL_MCP_URL
                            - FIREDRILL_MCP_TOKEN
                            - FIREDRILL_CLI_URL
                            - FIREDRILL_CLI_TOKEN
                      timeoutMs:
                        type: integer
                        minimum: 0
                        exclusiveMinimum: true
                        maximum: 86400000
                    required:
                      - id
                      - kind
                      - bindings
                      - timeoutMs
                    additionalProperties: false
            required:
              - schemaVersion
              - target
            additionalProperties: false
        scenarios:
          default: []
          maxItems: 100
          type: array
          items:
            type: object
            properties:
              schemaVersion:
                type: number
                enum:
                  - 1
              id:
                type: string
                minLength: 1
                maxLength: 96
                pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
              title:
                type: string
                minLength: 1
                maxLength: 200
              virtualTimeUs:
                type: integer
                minimum: -9007199254740991
                maximum: 9007199254740991
              actors:
                default: []
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                      minLength: 1
                      maxLength: 96
                      pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                    instanceId:
                      type: string
                      minLength: 1
                      maxLength: 96
                      pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                    description:
                      type: string
                      minLength: 1
                      maxLength: 500
                      pattern: \S
                      description: >-
                        Plain-text actor description for authoring and
                        inspection; not a prompt or permission.
                    attributes:
                      default: {}
                      type: object
                      additionalProperties:
                        $ref: '#/components/schemas/ToolTestDefinitions___schema0'
                    grants:
                      default: []
                      type: array
                      items:
                        type: object
                        properties:
                          packageId:
                            type: string
                            minLength: 1
                            maxLength: 96
                            pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                          instanceId:
                            type: string
                            minLength: 1
                            maxLength: 96
                            pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                          operationId:
                            type: string
                            minLength: 1
                            maxLength: 160
                            pattern: >-
                              ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*(?:\.[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*)*$
                        required:
                          - packageId
                          - operationId
                        additionalProperties: false
                  required:
                    - id
                    - attributes
                    - grants
                  additionalProperties: false
              state:
                default: []
                type: array
                items:
                  oneOf:
                    - type: object
                      properties:
                        action:
                          type: string
                          enum:
                            - upsert
                        packageId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        instanceId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        namespace:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        rowId:
                          type: string
                          minLength: 1
                          maxLength: 512
                        value:
                          type: object
                          additionalProperties:
                            $ref: '#/components/schemas/ToolTestDefinitions___schema0'
                      required:
                        - action
                        - packageId
                        - namespace
                        - rowId
                        - value
                      additionalProperties: false
                    - type: object
                      properties:
                        action:
                          type: string
                          enum:
                            - delete
                        packageId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        instanceId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        namespace:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        rowId:
                          type: string
                          minLength: 1
                          maxLength: 512
                      required:
                        - action
                        - packageId
                        - namespace
                        - rowId
                      additionalProperties: false
              faults:
                default: []
                type: array
                items:
                  type: object
                  properties:
                    packageId:
                      type: string
                      minLength: 1
                      maxLength: 96
                      pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                    instanceId:
                      type: string
                      minLength: 1
                      maxLength: 96
                      pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                    faultId:
                      type: string
                      minLength: 1
                      maxLength: 96
                      pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                  required:
                    - packageId
                    - faultId
                  additionalProperties: false
              initialEvents:
                default: []
                type: array
                items:
                  type: object
                  properties:
                    event:
                      type: object
                      properties:
                        packageId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        instanceId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        eventId:
                          type: string
                          minLength: 1
                          maxLength: 160
                          pattern: >-
                            ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*(?:\.[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*)*$
                      required:
                        - packageId
                        - eventId
                      additionalProperties: false
                    payload:
                      type: object
                      additionalProperties:
                        $ref: '#/components/schemas/ToolTestDefinitions___schema0'
                    atUs:
                      type: integer
                      minimum: -9007199254740991
                      maximum: 9007199254740991
                    actorId:
                      type: string
                      minLength: 1
                      maxLength: 96
                      pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                    actorInstanceId:
                      type: string
                      minLength: 1
                      maxLength: 96
                      pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                  required:
                    - event
                    - payload
                    - atUs
                    - actorId
                  additionalProperties: false
              toolOverrides:
                maxItems: 1000
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                      minLength: 1
                      maxLength: 96
                      pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                    operation:
                      type: object
                      properties:
                        packageId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        instanceId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        operationId:
                          type: string
                          minLength: 1
                          maxLength: 160
                          pattern: >-
                            ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*(?:\.[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*)*$
                      required:
                        - packageId
                        - operationId
                      additionalProperties: false
                    when:
                      type: object
                      properties:
                        arguments:
                          type: object
                          additionalProperties:
                            $ref: '#/components/schemas/ToolTestDefinitions___schema0'
                        actorId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        actorInstanceId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                      additionalProperties: false
                    outcome:
                      oneOf:
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - return
                            value:
                              $ref: >-
                                #/components/schemas/ToolTestDefinitions___schema0
                          required:
                            - kind
                            - value
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - error
                            code:
                              type: string
                              pattern: ^[A-Z][A-Z0-9_]*$
                            message:
                              type: string
                              minLength: 1
                              maxLength: 1000
                            retryable:
                              type: boolean
                          required:
                            - kind
                            - code
                            - message
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - original
                          required:
                            - kind
                          additionalProperties: false
                    times:
                      type: integer
                      minimum: 0
                      exclusiveMinimum: true
                      maximum: 9007199254740991
                  required:
                    - id
                    - operation
                    - outcome
                  additionalProperties: false
            required:
              - schemaVersion
              - id
              - actors
              - state
              - faults
              - initialEvents
            additionalProperties: false
        drills:
          minItems: 1
          maxItems: 100
          type: array
          items:
            type: object
            properties:
              schemaVersion:
                type: number
                enum:
                  - 1
              id:
                type: string
                minLength: 1
                maxLength: 96
                pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
              title:
                type: string
                minLength: 1
                maxLength: 200
              tags:
                default: []
                type: array
                items:
                  type: string
                  minLength: 1
                  maxLength: 96
                  pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
              targetId:
                type: string
                minLength: 1
                maxLength: 96
                pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
              scenarioId:
                type: string
                minLength: 1
                maxLength: 96
                pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
              inlineScenario:
                type: object
                properties:
                  title:
                    type: string
                    minLength: 1
                    maxLength: 200
                  virtualTimeUs:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                  actors:
                    default: []
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        instanceId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        description:
                          type: string
                          minLength: 1
                          maxLength: 500
                          pattern: \S
                          description: >-
                            Plain-text actor description for authoring and
                            inspection; not a prompt or permission.
                        attributes:
                          default: {}
                          type: object
                          additionalProperties:
                            $ref: '#/components/schemas/ToolTestDefinitions___schema0'
                        grants:
                          default: []
                          type: array
                          items:
                            type: object
                            properties:
                              packageId:
                                type: string
                                minLength: 1
                                maxLength: 96
                                pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                              instanceId:
                                type: string
                                minLength: 1
                                maxLength: 96
                                pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                              operationId:
                                type: string
                                minLength: 1
                                maxLength: 160
                                pattern: >-
                                  ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*(?:\.[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*)*$
                            required:
                              - packageId
                              - operationId
                            additionalProperties: false
                      required:
                        - id
                        - attributes
                        - grants
                      additionalProperties: false
                  state:
                    default: []
                    type: array
                    items:
                      oneOf:
                        - type: object
                          properties:
                            action:
                              type: string
                              enum:
                                - upsert
                            packageId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            instanceId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            namespace:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            rowId:
                              type: string
                              minLength: 1
                              maxLength: 512
                            value:
                              type: object
                              additionalProperties:
                                $ref: >-
                                  #/components/schemas/ToolTestDefinitions___schema0
                          required:
                            - action
                            - packageId
                            - namespace
                            - rowId
                            - value
                          additionalProperties: false
                        - type: object
                          properties:
                            action:
                              type: string
                              enum:
                                - delete
                            packageId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            instanceId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            namespace:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            rowId:
                              type: string
                              minLength: 1
                              maxLength: 512
                          required:
                            - action
                            - packageId
                            - namespace
                            - rowId
                          additionalProperties: false
                  faults:
                    default: []
                    type: array
                    items:
                      type: object
                      properties:
                        packageId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        instanceId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        faultId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                      required:
                        - packageId
                        - faultId
                      additionalProperties: false
                  initialEvents:
                    default: []
                    type: array
                    items:
                      type: object
                      properties:
                        event:
                          type: object
                          properties:
                            packageId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            instanceId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            eventId:
                              type: string
                              minLength: 1
                              maxLength: 160
                              pattern: >-
                                ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*(?:\.[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*)*$
                          required:
                            - packageId
                            - eventId
                          additionalProperties: false
                        payload:
                          type: object
                          additionalProperties:
                            $ref: '#/components/schemas/ToolTestDefinitions___schema0'
                        atUs:
                          type: integer
                          minimum: -9007199254740991
                          maximum: 9007199254740991
                        actorId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        actorInstanceId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                      required:
                        - event
                        - payload
                        - atUs
                        - actorId
                      additionalProperties: false
                  toolOverrides:
                    maxItems: 1000
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        operation:
                          type: object
                          properties:
                            packageId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            instanceId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            operationId:
                              type: string
                              minLength: 1
                              maxLength: 160
                              pattern: >-
                                ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*(?:\.[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*)*$
                          required:
                            - packageId
                            - operationId
                          additionalProperties: false
                        when:
                          type: object
                          properties:
                            arguments:
                              type: object
                              additionalProperties:
                                $ref: >-
                                  #/components/schemas/ToolTestDefinitions___schema0
                            actorId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            actorInstanceId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                          additionalProperties: false
                        outcome:
                          oneOf:
                            - type: object
                              properties:
                                kind:
                                  type: string
                                  enum:
                                    - return
                                value:
                                  $ref: >-
                                    #/components/schemas/ToolTestDefinitions___schema0
                              required:
                                - kind
                                - value
                              additionalProperties: false
                            - type: object
                              properties:
                                kind:
                                  type: string
                                  enum:
                                    - error
                                code:
                                  type: string
                                  pattern: ^[A-Z][A-Z0-9_]*$
                                message:
                                  type: string
                                  minLength: 1
                                  maxLength: 1000
                                retryable:
                                  type: boolean
                              required:
                                - kind
                                - code
                                - message
                              additionalProperties: false
                            - type: object
                              properties:
                                kind:
                                  type: string
                                  enum:
                                    - original
                              required:
                                - kind
                              additionalProperties: false
                        times:
                          type: integer
                          minimum: 0
                          exclusiveMinimum: true
                          maximum: 9007199254740991
                      required:
                        - id
                        - operation
                        - outcome
                      additionalProperties: false
                required:
                  - virtualTimeUs
                  - actors
                  - state
                  - faults
                  - initialEvents
                additionalProperties: false
              toolOverrides:
                maxItems: 1000
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                      minLength: 1
                      maxLength: 96
                      pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                    operation:
                      type: object
                      properties:
                        packageId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        instanceId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        operationId:
                          type: string
                          minLength: 1
                          maxLength: 160
                          pattern: >-
                            ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*(?:\.[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*)*$
                      required:
                        - packageId
                        - operationId
                      additionalProperties: false
                    when:
                      type: object
                      properties:
                        arguments:
                          type: object
                          additionalProperties:
                            $ref: '#/components/schemas/ToolTestDefinitions___schema0'
                        actorId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        actorInstanceId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                      additionalProperties: false
                    outcome:
                      oneOf:
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - return
                            value:
                              $ref: >-
                                #/components/schemas/ToolTestDefinitions___schema0
                          required:
                            - kind
                            - value
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - error
                            code:
                              type: string
                              pattern: ^[A-Z][A-Z0-9_]*$
                            message:
                              type: string
                              minLength: 1
                              maxLength: 1000
                            retryable:
                              type: boolean
                          required:
                            - kind
                            - code
                            - message
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - original
                          required:
                            - kind
                          additionalProperties: false
                    times:
                      type: integer
                      minimum: 0
                      exclusiveMinimum: true
                      maximum: 9007199254740991
                  required:
                    - id
                    - operation
                    - outcome
                  additionalProperties: false
              actorId:
                type: string
                minLength: 1
                maxLength: 96
                pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
              actorInstanceId:
                type: string
                minLength: 1
                maxLength: 96
                pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
              task:
                type: object
                properties:
                  instruction:
                    type: string
                    minLength: 1
                    maxLength: 20000
                  input:
                    allOf:
                      - $ref: '#/components/schemas/ToolTestDefinitions___schema0'
                required:
                  - instruction
                additionalProperties: false
              settle:
                type: object
                properties:
                  maxVirtualAdvanceUs:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                  maxToolCalls:
                    default: 1000
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    maximum: 1000000
                  maxEvents:
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    maximum: 1000000
                required:
                  - maxVirtualAdvanceUs
                  - maxToolCalls
                  - maxEvents
                additionalProperties: false
              timeline:
                type: object
                properties:
                  horizonUs:
                    default: 0
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                  maxToolCalls:
                    default: 1000
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    maximum: 1000000
                  maxEvents:
                    default: 10000
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    maximum: 1000000
                  stopOnInvariantFailure:
                    default: true
                    type: boolean
                  stopOnTargetFailure:
                    default: true
                    type: boolean
                  interactions:
                    default: []
                    maxItems: 10000
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        afterStartUs:
                          type: integer
                          minimum: -9007199254740991
                          maximum: 9007199254740991
                        actorId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        actorInstanceId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        task:
                          type: object
                          properties:
                            instruction:
                              type: string
                              minLength: 1
                              maxLength: 20000
                            input:
                              allOf:
                                - $ref: >-
                                    #/components/schemas/ToolTestDefinitions___schema0
                          required:
                            - instruction
                          additionalProperties: false
                      required:
                        - id
                        - afterStartUs
                        - actorId
                        - task
                      additionalProperties: false
                  workloads:
                    default: []
                    maxItems: 1000
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        actorIds:
                          minItems: 1
                          maxItems: 10000
                          type: array
                          items:
                            type: string
                            minLength: 1
                            maxLength: 96
                            pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        actorInstanceId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        task:
                          type: object
                          properties:
                            instruction:
                              type: string
                              minLength: 1
                              maxLength: 20000
                            input:
                              allOf:
                                - $ref: >-
                                    #/components/schemas/ToolTestDefinitions___schema0
                          required:
                            - instruction
                          additionalProperties: false
                        startAfterUs:
                          default: 0
                          type: integer
                          minimum: -9007199254740991
                          maximum: 9007199254740991
                        everyUs:
                          type: integer
                          minimum: 0
                          exclusiveMinimum: true
                          maximum: 9007199254740991
                        occurrences:
                          type: integer
                          minimum: 0
                          exclusiveMinimum: true
                          maximum: 10000
                      required:
                        - id
                        - actorIds
                        - task
                        - startAfterUs
                        - everyUs
                        - occurrences
                      additionalProperties: false
                  invariants:
                    default: []
                    type: array
                    items:
                      oneOf:
                        - type: object
                          properties:
                            id:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            gate:
                              default: true
                              type: boolean
                            kind:
                              type: string
                              enum:
                                - state.value
                            packageId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            instanceId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            namespace:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            rowId:
                              type: string
                              minLength: 1
                              maxLength: 512
                            path:
                              minItems: 1
                              type: array
                              items:
                                anyOf:
                                  - type: string
                                    minLength: 1
                                  - type: integer
                                    minimum: 0
                                    maximum: 9007199254740991
                            comparison:
                              oneOf:
                                - type: object
                                  properties:
                                    operator:
                                      type: string
                                      enum:
                                        - equals
                                    value:
                                      $ref: >-
                                        #/components/schemas/ToolTestDefinitions___schema0
                                  required:
                                    - operator
                                    - value
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    operator:
                                      type: string
                                      enum:
                                        - not_equals
                                    value:
                                      $ref: >-
                                        #/components/schemas/ToolTestDefinitions___schema0
                                  required:
                                    - operator
                                    - value
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    operator:
                                      type: string
                                      enum:
                                        - greater_than_or_equal
                                    value:
                                      type: number
                                  required:
                                    - operator
                                    - value
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    operator:
                                      type: string
                                      enum:
                                        - less_than_or_equal
                                    value:
                                      type: number
                                  required:
                                    - operator
                                    - value
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    operator:
                                      type: string
                                      enum:
                                        - one_of
                                    value:
                                      minItems: 1
                                      type: array
                                      items:
                                        $ref: >-
                                          #/components/schemas/ToolTestDefinitions___schema0
                                  required:
                                    - operator
                                    - value
                                  additionalProperties: false
                          required:
                            - id
                            - gate
                            - kind
                            - packageId
                            - namespace
                            - rowId
                            - path
                            - comparison
                          additionalProperties: false
                        - type: object
                          properties:
                            id:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            gate:
                              default: true
                              type: boolean
                            kind:
                              type: string
                              enum:
                                - state.count
                            packageId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            instanceId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            namespace:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            where:
                              type: object
                              additionalProperties:
                                $ref: >-
                                  #/components/schemas/ToolTestDefinitions___schema0
                            comparison:
                              oneOf:
                                - type: object
                                  properties:
                                    operator:
                                      type: string
                                      enum:
                                        - equals
                                    value:
                                      type: integer
                                      minimum: 0
                                      maximum: 9007199254740991
                                  required:
                                    - operator
                                    - value
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    operator:
                                      type: string
                                      enum:
                                        - not_equals
                                    value:
                                      type: integer
                                      minimum: 0
                                      maximum: 9007199254740991
                                  required:
                                    - operator
                                    - value
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    operator:
                                      type: string
                                      enum:
                                        - greater_than_or_equal
                                    value:
                                      type: integer
                                      minimum: 0
                                      maximum: 9007199254740991
                                  required:
                                    - operator
                                    - value
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    operator:
                                      type: string
                                      enum:
                                        - less_than_or_equal
                                    value:
                                      type: integer
                                      minimum: 0
                                      maximum: 9007199254740991
                                  required:
                                    - operator
                                    - value
                                  additionalProperties: false
                          required:
                            - id
                            - gate
                            - kind
                            - packageId
                            - namespace
                            - comparison
                          additionalProperties: false
                        - type: object
                          properties:
                            id:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            gate:
                              default: true
                              type: boolean
                            kind:
                              type: string
                              enum:
                                - operation.count
                            operation:
                              type: object
                              properties:
                                packageId:
                                  type: string
                                  minLength: 1
                                  maxLength: 96
                                  pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                                instanceId:
                                  type: string
                                  minLength: 1
                                  maxLength: 96
                                  pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                                operationId:
                                  type: string
                                  minLength: 1
                                  maxLength: 160
                                  pattern: >-
                                    ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*(?:\.[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*)*$
                              required:
                                - packageId
                                - operationId
                              additionalProperties: false
                            actorId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            actorInstanceId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            idempotency:
                              minItems: 1
                              type: array
                              items:
                                type: string
                                enum:
                                  - not_requested
                                  - recorded
                                  - replayed
                                  - not_recorded
                            outcomes:
                              minItems: 1
                              type: array
                              items:
                                type: string
                                enum:
                                  - ok
                                  - denied
                                  - tool_error
                                  - unsupported
                                  - invalid
                            comparison:
                              oneOf:
                                - type: object
                                  properties:
                                    operator:
                                      type: string
                                      enum:
                                        - equals
                                    value:
                                      type: integer
                                      minimum: 0
                                      maximum: 9007199254740991
                                  required:
                                    - operator
                                    - value
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    operator:
                                      type: string
                                      enum:
                                        - not_equals
                                    value:
                                      type: integer
                                      minimum: 0
                                      maximum: 9007199254740991
                                  required:
                                    - operator
                                    - value
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    operator:
                                      type: string
                                      enum:
                                        - greater_than_or_equal
                                    value:
                                      type: integer
                                      minimum: 0
                                      maximum: 9007199254740991
                                  required:
                                    - operator
                                    - value
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    operator:
                                      type: string
                                      enum:
                                        - less_than_or_equal
                                    value:
                                      type: integer
                                      minimum: 0
                                      maximum: 9007199254740991
                                  required:
                                    - operator
                                    - value
                                  additionalProperties: false
                          required:
                            - id
                            - gate
                            - kind
                            - operation
                            - comparison
                          additionalProperties: false
                        - type: object
                          properties:
                            id:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            gate:
                              default: true
                              type: boolean
                            kind:
                              type: string
                              enum:
                                - operation.order
                            sequence:
                              minItems: 2
                              type: array
                              items:
                                type: object
                                properties:
                                  anyOf:
                                    minItems: 1
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        packageId:
                                          type: string
                                          minLength: 1
                                          maxLength: 96
                                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                                        instanceId:
                                          type: string
                                          minLength: 1
                                          maxLength: 96
                                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                                        operationId:
                                          type: string
                                          minLength: 1
                                          maxLength: 160
                                          pattern: >-
                                            ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*(?:\.[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*)*$
                                      required:
                                        - packageId
                                        - operationId
                                      additionalProperties: false
                                  actorId:
                                    type: string
                                    minLength: 1
                                    maxLength: 96
                                    pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                                  actorInstanceId:
                                    type: string
                                    minLength: 1
                                    maxLength: 96
                                    pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                                  idempotency:
                                    minItems: 1
                                    type: array
                                    items:
                                      type: string
                                      enum:
                                        - not_requested
                                        - recorded
                                        - replayed
                                        - not_recorded
                                  outcomes:
                                    default:
                                      - ok
                                    minItems: 1
                                    type: array
                                    items:
                                      type: string
                                      enum:
                                        - ok
                                        - denied
                                        - tool_error
                                        - unsupported
                                        - invalid
                                required:
                                  - anyOf
                                  - outcomes
                                additionalProperties: false
                          required:
                            - id
                            - gate
                            - kind
                            - sequence
                          additionalProperties: false
                        - type: object
                          properties:
                            id:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            gate:
                              default: true
                              type: boolean
                            kind:
                              type: string
                              enum:
                                - operation.arguments
                            operation:
                              type: object
                              properties:
                                packageId:
                                  type: string
                                  minLength: 1
                                  maxLength: 96
                                  pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                                instanceId:
                                  type: string
                                  minLength: 1
                                  maxLength: 96
                                  pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                                operationId:
                                  type: string
                                  minLength: 1
                                  maxLength: 160
                                  pattern: >-
                                    ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*(?:\.[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*)*$
                              required:
                                - packageId
                                - operationId
                              additionalProperties: false
                            actorId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            actorInstanceId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            idempotency:
                              minItems: 1
                              type: array
                              items:
                                type: string
                                enum:
                                  - not_requested
                                  - recorded
                                  - replayed
                                  - not_recorded
                            outcomes:
                              default:
                                - ok
                              minItems: 1
                              type: array
                              items:
                                type: string
                                enum:
                                  - ok
                                  - denied
                                  - tool_error
                                  - unsupported
                                  - invalid
                            occurrence:
                              default: 1
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 9007199254740991
                            contains:
                              type: object
                              additionalProperties:
                                $ref: >-
                                  #/components/schemas/ToolTestDefinitions___schema0
                          required:
                            - id
                            - gate
                            - kind
                            - operation
                            - outcomes
                            - occurrence
                            - contains
                          additionalProperties: false
                        - type: object
                          properties:
                            id:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            gate:
                              default: true
                              type: boolean
                            kind:
                              type: string
                              enum:
                                - operation.denied
                            operation:
                              type: object
                              properties:
                                packageId:
                                  type: string
                                  minLength: 1
                                  maxLength: 96
                                  pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                                instanceId:
                                  type: string
                                  minLength: 1
                                  maxLength: 96
                                  pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                                operationId:
                                  type: string
                                  minLength: 1
                                  maxLength: 160
                                  pattern: >-
                                    ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*(?:\.[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*)*$
                              required:
                                - packageId
                                - operationId
                              additionalProperties: false
                            actorId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            actorInstanceId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            idempotency:
                              minItems: 1
                              type: array
                              items:
                                type: string
                                enum:
                                  - not_requested
                                  - recorded
                                  - replayed
                                  - not_recorded
                            outcomes:
                              minItems: 1
                              type: array
                              items:
                                type: string
                                enum:
                                  - denied
                                  - tool_error
                            errorCode:
                              type: string
                              pattern: ^[a-z][a-z0-9-]*\.[A-Z][A-Z0-9_]*$
                            attemptRequired:
                              default: true
                              type: boolean
                          required:
                            - id
                            - gate
                            - kind
                            - operation
                            - attemptRequired
                          additionalProperties: false
                        - type: object
                          properties:
                            id:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            gate:
                              default: true
                              type: boolean
                            kind:
                              type: string
                              enum:
                                - event.count
                            event:
                              type: object
                              properties:
                                packageId:
                                  type: string
                                  minLength: 1
                                  maxLength: 96
                                  pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                                instanceId:
                                  type: string
                                  minLength: 1
                                  maxLength: 96
                                  pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                                eventId:
                                  type: string
                                  minLength: 1
                                  maxLength: 160
                                  pattern: >-
                                    ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*(?:\.[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*)*$
                              required:
                                - packageId
                                - eventId
                              additionalProperties: false
                            phase:
                              default: emitted
                              type: string
                              enum:
                                - emitted
                                - scheduled
                                - handled
                                - failed
                            comparison:
                              oneOf:
                                - type: object
                                  properties:
                                    operator:
                                      type: string
                                      enum:
                                        - equals
                                    value:
                                      type: integer
                                      minimum: 0
                                      maximum: 9007199254740991
                                  required:
                                    - operator
                                    - value
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    operator:
                                      type: string
                                      enum:
                                        - not_equals
                                    value:
                                      type: integer
                                      minimum: 0
                                      maximum: 9007199254740991
                                  required:
                                    - operator
                                    - value
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    operator:
                                      type: string
                                      enum:
                                        - greater_than_or_equal
                                    value:
                                      type: integer
                                      minimum: 0
                                      maximum: 9007199254740991
                                  required:
                                    - operator
                                    - value
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    operator:
                                      type: string
                                      enum:
                                        - less_than_or_equal
                                    value:
                                      type: integer
                                      minimum: 0
                                      maximum: 9007199254740991
                                  required:
                                    - operator
                                    - value
                                  additionalProperties: false
                          required:
                            - id
                            - gate
                            - kind
                            - event
                            - phase
                            - comparison
                          additionalProperties: false
                        - type: object
                          properties:
                            id:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            gate:
                              default: true
                              type: boolean
                            kind:
                              type: string
                              enum:
                                - callback.count
                            callback:
                              type: object
                              properties:
                                packageId:
                                  type: string
                                  minLength: 1
                                  maxLength: 96
                                  pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                                instanceId:
                                  type: string
                                  minLength: 1
                                  maxLength: 96
                                  pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                                callbackId:
                                  type: string
                                  minLength: 1
                                  maxLength: 96
                                  pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                              required:
                                - packageId
                                - callbackId
                              additionalProperties: false
                            phase:
                              default: delivered
                              type: string
                              enum:
                                - queued
                                - attempt_started
                                - delivered
                                - retry_scheduled
                                - failed
                                - recovered
                            comparison:
                              oneOf:
                                - type: object
                                  properties:
                                    operator:
                                      type: string
                                      enum:
                                        - equals
                                    value:
                                      type: integer
                                      minimum: 0
                                      maximum: 9007199254740991
                                  required:
                                    - operator
                                    - value
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    operator:
                                      type: string
                                      enum:
                                        - not_equals
                                    value:
                                      type: integer
                                      minimum: 0
                                      maximum: 9007199254740991
                                  required:
                                    - operator
                                    - value
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    operator:
                                      type: string
                                      enum:
                                        - greater_than_or_equal
                                    value:
                                      type: integer
                                      minimum: 0
                                      maximum: 9007199254740991
                                  required:
                                    - operator
                                    - value
                                  additionalProperties: false
                                - type: object
                                  properties:
                                    operator:
                                      type: string
                                      enum:
                                        - less_than_or_equal
                                    value:
                                      type: integer
                                      minimum: 0
                                      maximum: 9007199254740991
                                  required:
                                    - operator
                                    - value
                                  additionalProperties: false
                          required:
                            - id
                            - gate
                            - kind
                            - callback
                            - phase
                            - comparison
                          additionalProperties: false
                required:
                  - horizonUs
                  - maxToolCalls
                  - maxEvents
                  - stopOnInvariantFailure
                  - stopOnTargetFailure
                  - interactions
                  - workloads
                  - invariants
                additionalProperties: false
              trials:
                default:
                  count: 1
                  classification: contract
                type: object
                properties:
                  count:
                    default: 1
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    maximum: 10000
                  classification:
                    default: contract
                    type: string
                    enum:
                      - contract
                      - safety
                      - quality
                required:
                  - count
                  - classification
                additionalProperties: false
              assertions:
                minItems: 1
                type: array
                items:
                  oneOf:
                    - type: object
                      properties:
                        id:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        gate:
                          default: true
                          type: boolean
                        kind:
                          type: string
                          enum:
                            - state.value
                        packageId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        instanceId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        namespace:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        rowId:
                          type: string
                          minLength: 1
                          maxLength: 512
                        path:
                          minItems: 1
                          type: array
                          items:
                            anyOf:
                              - type: string
                                minLength: 1
                              - type: integer
                                minimum: 0
                                maximum: 9007199254740991
                        comparison:
                          oneOf:
                            - type: object
                              properties:
                                operator:
                                  type: string
                                  enum:
                                    - equals
                                value:
                                  $ref: >-
                                    #/components/schemas/ToolTestDefinitions___schema0
                              required:
                                - operator
                                - value
                              additionalProperties: false
                            - type: object
                              properties:
                                operator:
                                  type: string
                                  enum:
                                    - not_equals
                                value:
                                  $ref: >-
                                    #/components/schemas/ToolTestDefinitions___schema0
                              required:
                                - operator
                                - value
                              additionalProperties: false
                            - type: object
                              properties:
                                operator:
                                  type: string
                                  enum:
                                    - greater_than_or_equal
                                value:
                                  type: number
                              required:
                                - operator
                                - value
                              additionalProperties: false
                            - type: object
                              properties:
                                operator:
                                  type: string
                                  enum:
                                    - less_than_or_equal
                                value:
                                  type: number
                              required:
                                - operator
                                - value
                              additionalProperties: false
                            - type: object
                              properties:
                                operator:
                                  type: string
                                  enum:
                                    - one_of
                                value:
                                  minItems: 1
                                  type: array
                                  items:
                                    $ref: >-
                                      #/components/schemas/ToolTestDefinitions___schema0
                              required:
                                - operator
                                - value
                              additionalProperties: false
                      required:
                        - id
                        - gate
                        - kind
                        - packageId
                        - namespace
                        - rowId
                        - path
                        - comparison
                      additionalProperties: false
                    - type: object
                      properties:
                        id:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        gate:
                          default: true
                          type: boolean
                        kind:
                          type: string
                          enum:
                            - state.count
                        packageId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        instanceId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        namespace:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        where:
                          type: object
                          additionalProperties:
                            $ref: '#/components/schemas/ToolTestDefinitions___schema0'
                        comparison:
                          oneOf:
                            - type: object
                              properties:
                                operator:
                                  type: string
                                  enum:
                                    - equals
                                value:
                                  type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                              required:
                                - operator
                                - value
                              additionalProperties: false
                            - type: object
                              properties:
                                operator:
                                  type: string
                                  enum:
                                    - not_equals
                                value:
                                  type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                              required:
                                - operator
                                - value
                              additionalProperties: false
                            - type: object
                              properties:
                                operator:
                                  type: string
                                  enum:
                                    - greater_than_or_equal
                                value:
                                  type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                              required:
                                - operator
                                - value
                              additionalProperties: false
                            - type: object
                              properties:
                                operator:
                                  type: string
                                  enum:
                                    - less_than_or_equal
                                value:
                                  type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                              required:
                                - operator
                                - value
                              additionalProperties: false
                      required:
                        - id
                        - gate
                        - kind
                        - packageId
                        - namespace
                        - comparison
                      additionalProperties: false
                    - type: object
                      properties:
                        id:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        gate:
                          default: true
                          type: boolean
                        kind:
                          type: string
                          enum:
                            - operation.count
                        operation:
                          type: object
                          properties:
                            packageId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            instanceId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            operationId:
                              type: string
                              minLength: 1
                              maxLength: 160
                              pattern: >-
                                ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*(?:\.[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*)*$
                          required:
                            - packageId
                            - operationId
                          additionalProperties: false
                        actorId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        actorInstanceId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        idempotency:
                          minItems: 1
                          type: array
                          items:
                            type: string
                            enum:
                              - not_requested
                              - recorded
                              - replayed
                              - not_recorded
                        outcomes:
                          minItems: 1
                          type: array
                          items:
                            type: string
                            enum:
                              - ok
                              - denied
                              - tool_error
                              - unsupported
                              - invalid
                        comparison:
                          oneOf:
                            - type: object
                              properties:
                                operator:
                                  type: string
                                  enum:
                                    - equals
                                value:
                                  type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                              required:
                                - operator
                                - value
                              additionalProperties: false
                            - type: object
                              properties:
                                operator:
                                  type: string
                                  enum:
                                    - not_equals
                                value:
                                  type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                              required:
                                - operator
                                - value
                              additionalProperties: false
                            - type: object
                              properties:
                                operator:
                                  type: string
                                  enum:
                                    - greater_than_or_equal
                                value:
                                  type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                              required:
                                - operator
                                - value
                              additionalProperties: false
                            - type: object
                              properties:
                                operator:
                                  type: string
                                  enum:
                                    - less_than_or_equal
                                value:
                                  type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                              required:
                                - operator
                                - value
                              additionalProperties: false
                      required:
                        - id
                        - gate
                        - kind
                        - operation
                        - comparison
                      additionalProperties: false
                    - type: object
                      properties:
                        id:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        gate:
                          default: true
                          type: boolean
                        kind:
                          type: string
                          enum:
                            - operation.order
                        sequence:
                          minItems: 2
                          type: array
                          items:
                            type: object
                            properties:
                              anyOf:
                                minItems: 1
                                type: array
                                items:
                                  type: object
                                  properties:
                                    packageId:
                                      type: string
                                      minLength: 1
                                      maxLength: 96
                                      pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                                    instanceId:
                                      type: string
                                      minLength: 1
                                      maxLength: 96
                                      pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                                    operationId:
                                      type: string
                                      minLength: 1
                                      maxLength: 160
                                      pattern: >-
                                        ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*(?:\.[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*)*$
                                  required:
                                    - packageId
                                    - operationId
                                  additionalProperties: false
                              actorId:
                                type: string
                                minLength: 1
                                maxLength: 96
                                pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                              actorInstanceId:
                                type: string
                                minLength: 1
                                maxLength: 96
                                pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                              idempotency:
                                minItems: 1
                                type: array
                                items:
                                  type: string
                                  enum:
                                    - not_requested
                                    - recorded
                                    - replayed
                                    - not_recorded
                              outcomes:
                                default:
                                  - ok
                                minItems: 1
                                type: array
                                items:
                                  type: string
                                  enum:
                                    - ok
                                    - denied
                                    - tool_error
                                    - unsupported
                                    - invalid
                            required:
                              - anyOf
                              - outcomes
                            additionalProperties: false
                      required:
                        - id
                        - gate
                        - kind
                        - sequence
                      additionalProperties: false
                    - type: object
                      properties:
                        id:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        gate:
                          default: true
                          type: boolean
                        kind:
                          type: string
                          enum:
                            - operation.arguments
                        operation:
                          type: object
                          properties:
                            packageId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            instanceId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            operationId:
                              type: string
                              minLength: 1
                              maxLength: 160
                              pattern: >-
                                ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*(?:\.[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*)*$
                          required:
                            - packageId
                            - operationId
                          additionalProperties: false
                        actorId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        actorInstanceId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        idempotency:
                          minItems: 1
                          type: array
                          items:
                            type: string
                            enum:
                              - not_requested
                              - recorded
                              - replayed
                              - not_recorded
                        outcomes:
                          default:
                            - ok
                          minItems: 1
                          type: array
                          items:
                            type: string
                            enum:
                              - ok
                              - denied
                              - tool_error
                              - unsupported
                              - invalid
                        occurrence:
                          default: 1
                          type: integer
                          minimum: 0
                          exclusiveMinimum: true
                          maximum: 9007199254740991
                        contains:
                          type: object
                          additionalProperties:
                            $ref: '#/components/schemas/ToolTestDefinitions___schema0'
                      required:
                        - id
                        - gate
                        - kind
                        - operation
                        - outcomes
                        - occurrence
                        - contains
                      additionalProperties: false
                    - type: object
                      properties:
                        id:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        gate:
                          default: true
                          type: boolean
                        kind:
                          type: string
                          enum:
                            - operation.denied
                        operation:
                          type: object
                          properties:
                            packageId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            instanceId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            operationId:
                              type: string
                              minLength: 1
                              maxLength: 160
                              pattern: >-
                                ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*(?:\.[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*)*$
                          required:
                            - packageId
                            - operationId
                          additionalProperties: false
                        actorId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        actorInstanceId:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        idempotency:
                          minItems: 1
                          type: array
                          items:
                            type: string
                            enum:
                              - not_requested
                              - recorded
                              - replayed
                              - not_recorded
                        outcomes:
                          minItems: 1
                          type: array
                          items:
                            type: string
                            enum:
                              - denied
                              - tool_error
                        errorCode:
                          type: string
                          pattern: ^[a-z][a-z0-9-]*\.[A-Z][A-Z0-9_]*$
                        attemptRequired:
                          default: true
                          type: boolean
                      required:
                        - id
                        - gate
                        - kind
                        - operation
                        - attemptRequired
                      additionalProperties: false
                    - type: object
                      properties:
                        id:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        gate:
                          default: true
                          type: boolean
                        kind:
                          type: string
                          enum:
                            - event.count
                        event:
                          type: object
                          properties:
                            packageId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            instanceId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            eventId:
                              type: string
                              minLength: 1
                              maxLength: 160
                              pattern: >-
                                ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*(?:\.[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*)*$
                          required:
                            - packageId
                            - eventId
                          additionalProperties: false
                        phase:
                          default: emitted
                          type: string
                          enum:
                            - emitted
                            - scheduled
                            - handled
                            - failed
                        comparison:
                          oneOf:
                            - type: object
                              properties:
                                operator:
                                  type: string
                                  enum:
                                    - equals
                                value:
                                  type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                              required:
                                - operator
                                - value
                              additionalProperties: false
                            - type: object
                              properties:
                                operator:
                                  type: string
                                  enum:
                                    - not_equals
                                value:
                                  type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                              required:
                                - operator
                                - value
                              additionalProperties: false
                            - type: object
                              properties:
                                operator:
                                  type: string
                                  enum:
                                    - greater_than_or_equal
                                value:
                                  type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                              required:
                                - operator
                                - value
                              additionalProperties: false
                            - type: object
                              properties:
                                operator:
                                  type: string
                                  enum:
                                    - less_than_or_equal
                                value:
                                  type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                              required:
                                - operator
                                - value
                              additionalProperties: false
                      required:
                        - id
                        - gate
                        - kind
                        - event
                        - phase
                        - comparison
                      additionalProperties: false
                    - type: object
                      properties:
                        id:
                          type: string
                          minLength: 1
                          maxLength: 96
                          pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                        gate:
                          default: true
                          type: boolean
                        kind:
                          type: string
                          enum:
                            - callback.count
                        callback:
                          type: object
                          properties:
                            packageId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            instanceId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                            callbackId:
                              type: string
                              minLength: 1
                              maxLength: 96
                              pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
                          required:
                            - packageId
                            - callbackId
                          additionalProperties: false
                        phase:
                          default: delivered
                          type: string
                          enum:
                            - queued
                            - attempt_started
                            - delivered
                            - retry_scheduled
                            - failed
                            - recovered
                        comparison:
                          oneOf:
                            - type: object
                              properties:
                                operator:
                                  type: string
                                  enum:
                                    - equals
                                value:
                                  type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                              required:
                                - operator
                                - value
                              additionalProperties: false
                            - type: object
                              properties:
                                operator:
                                  type: string
                                  enum:
                                    - not_equals
                                value:
                                  type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                              required:
                                - operator
                                - value
                              additionalProperties: false
                            - type: object
                              properties:
                                operator:
                                  type: string
                                  enum:
                                    - greater_than_or_equal
                                value:
                                  type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                              required:
                                - operator
                                - value
                              additionalProperties: false
                            - type: object
                              properties:
                                operator:
                                  type: string
                                  enum:
                                    - less_than_or_equal
                                value:
                                  type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                              required:
                                - operator
                                - value
                              additionalProperties: false
                      required:
                        - id
                        - gate
                        - kind
                        - callback
                        - phase
                        - comparison
                      additionalProperties: false
            required:
              - schemaVersion
              - id
              - tags
              - targetId
              - trials
              - assertions
            additionalProperties: false
        suites:
          default: []
          maxItems: 100
          type: array
          items:
            type: object
            properties:
              schemaVersion:
                type: number
                enum:
                  - 1
              id:
                type: string
                minLength: 1
                maxLength: 96
                pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
              title:
                type: string
                minLength: 1
                maxLength: 200
              drills:
                default: []
                type: array
                items:
                  type: string
                  minLength: 1
                  maxLength: 96
                  pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
              tags:
                default: []
                type: array
                items:
                  type: string
                  minLength: 1
                  maxLength: 96
                  pattern: ^[a-z][a-z0-9]*(?:[-_][a-z0-9]+)*$
              trials:
                type: integer
                minimum: 0
                exclusiveMinimum: true
                maximum: 10000
              concurrency:
                default: 1
                type: integer
                minimum: 0
                exclusiveMinimum: true
                maximum: 64
              retries:
                default: 0
                type: integer
                minimum: 0
                maximum: 10
            required:
              - schemaVersion
              - id
              - drills
              - tags
              - concurrency
              - retries
            additionalProperties: false
      required:
        - targets
        - scenarios
        - drills
        - suites
      additionalProperties: false
    ToolSetup___schema0:
      description: Any JSON-compatible value
    ToolTestDefinitions___schema0:
      description: Any JSON-compatible value
  securitySchemes:
    controlCredential:
      type: http
      scheme: bearer
      description: Opaque control credential

````