> ## 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.

# Find retained starting source for a session's repeatable test

> Requires session.read, tool.read and build.read. Identifies one exact ready reusable Tool setup by organization, project, environment and immutable build, together with the current lease. Never reconstructs original data from current state or substitutes another setup. Unavailable and unsupported outcomes retain the exact session identity without a setup.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/projects/{projectId}/sessions/{sessionId}/test-source
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}/sessions/{sessionId}/test-source:
    get:
      summary: Find retained starting source for a session's repeatable test
      description: >-
        Requires session.read, tool.read and build.read. Identifies one exact
        ready reusable Tool setup by organization, project, environment and
        immutable build, together with the current lease. Never reconstructs
        original data from current state or substitutes another setup.
        Unavailable and unsupported outcomes retain the exact session identity
        without a setup.
      operationId: sessions.testSource
      parameters:
        - name: projectId
          in: path
          required: true
          schema:
            type: string
            pattern: ^prj_[0-9a-z]{12,32}$
        - name: sessionId
          in: path
          required: true
          schema:
            type: string
            pattern: ^ses_[0-9a-z]{12,32}$
      responses:
        '200':
          description: Exact saved starting source
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionTestSource'
        default:
          description: Canonical error envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
components:
  schemas:
    SessionTestSource:
      type: object
      properties:
        schemaVersion:
          type: number
          enum:
            - 1
        session:
          type: object
          properties:
            organizationId:
              type: string
              pattern: ^org_[0-9a-z]{12,32}$
            projectId:
              type: string
              pattern: ^prj_[0-9a-z]{12,32}$
            environmentId:
              type: string
              pattern: ^env_[0-9a-z]{12,32}$
            sessionId:
              type: string
              pattern: ^ses_[0-9a-z]{12,32}$
            buildHash:
              type: string
              pattern: ^sha256:[0-9a-f]{64}$
            leaseGeneration:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
          required:
            - organizationId
            - projectId
            - environmentId
            - sessionId
            - buildHash
            - leaseGeneration
          additionalProperties: false
        eligibility:
          type: string
          enum:
            - available
            - unsupported
            - unavailable
        setup:
          nullable: true
          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/SessionTestSource___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
      required:
        - schemaVersion
        - session
        - eligibility
        - setup
      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
    SessionTestSource___schema0:
      description: Any JSON-compatible value
    ToolTestDefinitions___schema0:
      description: Any JSON-compatible value
  securitySchemes:
    controlCredential:
      type: http
      scheme: bearer
      description: Opaque control credential

````