Validate JSON Schema using Data File in Collection Runner

I have a big/complex Swagger file which has nested schemas used by my endpoints.

I’d like to reference these schemas from a data file using the Collection Runner instead of declaring the schemas per endpoint for maintainability.

The following works when declared in my Test scripts (simplified for brevity), letting me know that $ref works for JSON schema validation:

var schema = 
{
  "$ref": "#/components/schemas/AuthenticationResponseEncapsulation",
  "components": {
    "schemas": {
      "AuthenticationResponseEncapsulation": {
        "type": "object",
        "properties": {
          "Content": {
            "$ref": "#/components/schemas/AuthenticationResponse"
          }
        },
        "additionalProperties": false,
        "required": [
          "Content"
        ]
      },
      "AuthenticationResponse": {
        "type": "object",
        "properties": {
          "Token": {
            "type": "string",
            "nullable": true
          },
          "Username": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "required": [
          "Token",
          "Username"
        ]
      }
    }
  }
}

pm.test("JSON Response Schema Validation", function () {
    pm.expect(response).to.have.jsonSchema(schema);
});

However, when testing against the data file’s expected format (enclosed in an array), I am unable to traverse through the array thus the errors:

Error: can’t resolve reference #/root/components/schemas/AuthenticationResponseEncapsulation from id #

With variations of:

#//root/components/schemas/AuthenticationResponseEncapsulation

#/[0]/root/components/schemas/AuthenticationResponseEncapsulation

Structure of my data file (simplified for brevity):

[
  {
    "root": {
      "scenarios": [
        {
          "scenarioId": "SCN-002",
          "responseSchema": {
            "$ref": "#/root/components/schemas/AuthResponseResponseEncapsulation"
          }
        }
      ],
      "components": {
        "schemas": {
          "AuthResponseResponseEncapsulation": {
            "type": "object",
            "properties": {
              "Content": {
                "$ref": "#/root/components/schemas/AuthResponse"
              },
              "Status": {
                "type": "string",
                "nullable": true
              },
              "Count": {
                "type": "integer",
                "format": "int32"
              }
            },
            "additionalProperties": false,
            "required": [
              "Content",
              "Count",
              "Status"
            ]
          },
          "AuthResponse": {
            "type": "object",
            "properties": {
              "Token": {
                "type": "string",
                "nullable": true
              },
              "Username": {
                "type": "string",
                "nullable": true
              }
            },
            "additionalProperties": false,
            "required": [
              "Token",
              "Username"
            ]
          }
        }
      }
    }
  }
]

Is what I’m trying to do possible? Would there be a more efficient way to implement what I’m trying to do?