{
  "schema_version": 1,
  "builds": [
    {
      "name": "build-101",
      "sequence": 101
    },
    {
      "name": "build-102",
      "sequence": 102
    },
    {
      "name": "build-103",
      "sequence": 103
    },
    {
      "name": "build-104",
      "sequence": 104
    },
    {
      "name": "build-105",
      "sequence": 105
    }
  ],
  "selections": {
    "build-101": {
      "rows": [
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_decimal_total\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_decimal_total",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.36,
          "message": "",
          "attempt": 1,
          "artifact": "build-101-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.36
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.36,
              "message": "",
              "artifact": "build-101-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_delete_asset\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_delete_asset",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.328,
          "message": "",
          "attempt": 1,
          "artifact": "build-101-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.328
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.328,
              "message": "",
              "artifact": "build-101-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_idempotent_retry\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_idempotent_retry",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.072,
          "message": "",
          "attempt": 1,
          "artifact": "build-101-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.072
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.072,
              "message": "",
              "artifact": "build-101-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_legacy_response\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_legacy_response",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.168,
          "message": "",
          "attempt": 1,
          "artifact": "build-101-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.168
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.168,
              "message": "",
              "artifact": "build-101-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_list_assets\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_list_assets",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.296,
          "message": "",
          "attempt": 1,
          "artifact": "build-101-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.296
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.296,
              "message": "",
              "artifact": "build-101-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_parse_timestamp\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_parse_timestamp",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.232,
          "message": "",
          "attempt": 1,
          "artifact": "build-101-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.232
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.232,
              "message": "",
              "artifact": "build-101-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_provider_quota\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_provider_quota",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.2,
          "message": "",
          "attempt": 1,
          "artifact": "build-101-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.2
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.2,
              "message": "",
              "artifact": "build-101-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_reject_invalid_token\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_reject_invalid_token",
          "first_sequence": 101,
          "status": "failure",
          "category": "failure without baseline",
          "duration": 0.04,
          "message": "401 expected, 403 observed.\nAssertion at tests/test_asset_api.py:42",
          "attempt": 1,
          "artifact": "build-101-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "failure",
              "retry_pass": false,
              "duration": 0.04
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "failure",
              "duration": 0.04,
              "message": "401 expected, 403 observed.\nAssertion at tests/test_asset_api.py:42",
              "artifact": "build-101-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_snapshot_upload\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_snapshot_upload",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.136,
          "message": "",
          "attempt": 1,
          "artifact": "build-101-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.136
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.136,
              "message": "",
              "artifact": "build-101-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_timeout_bounds\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_timeout_bounds",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.104,
          "message": "",
          "attempt": 1,
          "artifact": "build-101-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.104
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.104,
              "message": "",
              "artifact": "build-101-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_unicode_label\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_unicode_label",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.392,
          "message": "",
          "attempt": 1,
          "artifact": "build-101-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.392
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.392,
              "message": "",
              "artifact": "build-101-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_update_asset\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_update_asset",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.264,
          "message": "",
          "attempt": 1,
          "artifact": "build-101-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.264
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.264,
              "message": "",
              "artifact": "build-101-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_canonical_json\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_canonical_json",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.264,
          "message": "",
          "attempt": 1,
          "artifact": "build-101-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.264
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.264,
              "message": "",
              "artifact": "build-101-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_decode_header\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_decode_header",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.168,
          "message": "",
          "attempt": 1,
          "artifact": "build-101-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.168
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.168,
              "message": "",
              "artifact": "build-101-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_encode_cursor\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_encode_cursor",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.2,
          "message": "",
          "attempt": 1,
          "artifact": "build-101-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.2
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.2,
              "message": "",
              "artifact": "build-101-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_escape_filename\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_escape_filename",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.232,
          "message": "",
          "attempt": 1,
          "artifact": "build-101-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.232
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.232,
              "message": "",
              "artifact": "build-101-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_normalize_key\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_normalize_key",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.04,
          "message": "",
          "attempt": 1,
          "artifact": "build-101-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.04
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.04,
              "message": "",
              "artifact": "build-101-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_parse_quantity\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_parse_quantity",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.072,
          "message": "",
          "attempt": 1,
          "artifact": "build-101-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.072
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.072,
              "message": "",
              "artifact": "build-101-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_round_decimal\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_round_decimal",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.104,
          "message": "",
          "attempt": 1,
          "artifact": "build-101-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.104
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.104,
              "message": "",
              "artifact": "build-101-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_sort_versions\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_sort_versions",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.136,
          "message": "",
          "attempt": 1,
          "artifact": "build-101-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.136
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.136,
              "message": "",
              "artifact": "build-101-unit-linux-1.xml"
            }
          ]
        }
      ],
      "counts": {
        "new failure": 0,
        "repeated failure": 0,
        "failure without baseline": 1,
        "retry pass": 0,
        "recovered": 0,
        "pass": 19,
        "skipped": 0,
        "not reported": 0
      },
      "failed": 1,
      "execution_seconds": 3.808,
      "attempts": 2,
      "observations": 20
    },
    "build-102": {
      "rows": [
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_decimal_total\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_decimal_total",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.366,
          "message": "",
          "attempt": 1,
          "artifact": "build-102-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.36
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.366
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.366,
              "message": "",
              "artifact": "build-102-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_delete_asset\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_delete_asset",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.334,
          "message": "",
          "attempt": 1,
          "artifact": "build-102-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.328
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.334
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.334,
              "message": "",
              "artifact": "build-102-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_idempotent_retry\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_idempotent_retry",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.078,
          "message": "",
          "attempt": 1,
          "artifact": "build-102-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.072
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.078
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.078,
              "message": "",
              "artifact": "build-102-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_legacy_response\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_legacy_response",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.174,
          "message": "",
          "attempt": 1,
          "artifact": "build-102-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.168
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.174
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.174,
              "message": "",
              "artifact": "build-102-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_list_assets\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_list_assets",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.302,
          "message": "",
          "attempt": 1,
          "artifact": "build-102-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.296
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.302
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.302,
              "message": "",
              "artifact": "build-102-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_parse_timestamp\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_parse_timestamp",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.238,
          "message": "",
          "attempt": 1,
          "artifact": "build-102-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.232
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.238
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.238,
              "message": "",
              "artifact": "build-102-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_provider_quota\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_provider_quota",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.206,
          "message": "",
          "attempt": 1,
          "artifact": "build-102-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.2
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.206
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.206,
              "message": "",
              "artifact": "build-102-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_reject_invalid_token\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_reject_invalid_token",
          "first_sequence": 101,
          "status": "failure",
          "category": "repeated failure",
          "duration": 0.046,
          "message": "401 expected, 403 observed.\nAssertion at tests/test_asset_api.py:42",
          "attempt": 1,
          "artifact": "build-102-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "failure",
              "retry_pass": false,
              "duration": 0.04
            },
            {
              "build": "build-102",
              "status": "failure",
              "retry_pass": false,
              "duration": 0.046
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "failure",
              "duration": 0.046,
              "message": "401 expected, 403 observed.\nAssertion at tests/test_asset_api.py:42",
              "artifact": "build-102-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_snapshot_upload\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_snapshot_upload",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.142,
          "message": "",
          "attempt": 1,
          "artifact": "build-102-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.136
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.142
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.142,
              "message": "",
              "artifact": "build-102-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_timeout_bounds\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_timeout_bounds",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.11,
          "message": "",
          "attempt": 1,
          "artifact": "build-102-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.104
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.11
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.11,
              "message": "",
              "artifact": "build-102-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_unicode_label\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_unicode_label",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.398,
          "message": "",
          "attempt": 1,
          "artifact": "build-102-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.392
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.398
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.398,
              "message": "",
              "artifact": "build-102-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_update_asset\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_update_asset",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.27,
          "message": "",
          "attempt": 1,
          "artifact": "build-102-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.264
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.27
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.27,
              "message": "",
              "artifact": "build-102-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_canonical_json\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_canonical_json",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.27,
          "message": "",
          "attempt": 1,
          "artifact": "build-102-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.264
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.27
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.27,
              "message": "",
              "artifact": "build-102-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_decode_header\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_decode_header",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.174,
          "message": "",
          "attempt": 1,
          "artifact": "build-102-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.168
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.174
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.174,
              "message": "",
              "artifact": "build-102-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_encode_cursor\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_encode_cursor",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.206,
          "message": "",
          "attempt": 1,
          "artifact": "build-102-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.2
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.206
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.206,
              "message": "",
              "artifact": "build-102-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_escape_filename\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_escape_filename",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.238,
          "message": "",
          "attempt": 1,
          "artifact": "build-102-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.232
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.238
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.238,
              "message": "",
              "artifact": "build-102-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_normalize_key\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_normalize_key",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.046,
          "message": "",
          "attempt": 1,
          "artifact": "build-102-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.04
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.046
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.046,
              "message": "",
              "artifact": "build-102-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_parse_quantity\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_parse_quantity",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.078,
          "message": "",
          "attempt": 1,
          "artifact": "build-102-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.072
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.078
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.078,
              "message": "",
              "artifact": "build-102-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_round_decimal\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_round_decimal",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.11,
          "message": "",
          "attempt": 1,
          "artifact": "build-102-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.104
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.11
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.11,
              "message": "",
              "artifact": "build-102-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_sort_versions\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_sort_versions",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.142,
          "message": "",
          "attempt": 1,
          "artifact": "build-102-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.136
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.142
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.142,
              "message": "",
              "artifact": "build-102-unit-linux-1.xml"
            }
          ]
        }
      ],
      "counts": {
        "new failure": 0,
        "repeated failure": 1,
        "failure without baseline": 0,
        "retry pass": 0,
        "recovered": 0,
        "pass": 19,
        "skipped": 0,
        "not reported": 0
      },
      "failed": 1,
      "execution_seconds": 3.928,
      "attempts": 2,
      "observations": 20
    },
    "build-103": {
      "rows": [
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_decimal_total\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_decimal_total",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.372,
          "message": "",
          "attempt": 1,
          "artifact": "build-103-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.36
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.366
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.372
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.372,
              "message": "",
              "artifact": "build-103-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_delete_asset\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_delete_asset",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.34,
          "message": "",
          "attempt": 1,
          "artifact": "build-103-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.328
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.334
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.34
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.34,
              "message": "",
              "artifact": "build-103-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_idempotent_retry\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_idempotent_retry",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.084,
          "message": "",
          "attempt": 1,
          "artifact": "build-103-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.072
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.078
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.084
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.084,
              "message": "",
              "artifact": "build-103-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_legacy_response\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_legacy_response",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.18,
          "message": "",
          "attempt": 1,
          "artifact": "build-103-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.168
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.174
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.18
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.18,
              "message": "",
              "artifact": "build-103-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_list_assets\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_list_assets",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.308,
          "message": "",
          "attempt": 1,
          "artifact": "build-103-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.296
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.302
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.308
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.308,
              "message": "",
              "artifact": "build-103-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_parse_timestamp\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_parse_timestamp",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.244,
          "message": "",
          "attempt": 1,
          "artifact": "build-103-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.232
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.238
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.244
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.244,
              "message": "",
              "artifact": "build-103-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_provider_quota\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_provider_quota",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.212,
          "message": "",
          "attempt": 1,
          "artifact": "build-103-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.2
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.206
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.212
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.212,
              "message": "",
              "artifact": "build-103-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_reject_invalid_token\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_reject_invalid_token",
          "first_sequence": 101,
          "status": "failure",
          "category": "repeated failure",
          "duration": 0.052,
          "message": "401 expected, 403 observed.\nAssertion at tests/test_asset_api.py:42",
          "attempt": 1,
          "artifact": "build-103-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "failure",
              "retry_pass": false,
              "duration": 0.04
            },
            {
              "build": "build-102",
              "status": "failure",
              "retry_pass": false,
              "duration": 0.046
            },
            {
              "build": "build-103",
              "status": "failure",
              "retry_pass": false,
              "duration": 0.052
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "failure",
              "duration": 0.052,
              "message": "401 expected, 403 observed.\nAssertion at tests/test_asset_api.py:42",
              "artifact": "build-103-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_snapshot_upload\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_snapshot_upload",
          "first_sequence": 101,
          "status": "pass",
          "category": "retry pass",
          "duration": 0.189,
          "message": "",
          "attempt": 2,
          "artifact": "build-103-api-linux-2.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.136
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.142
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": true,
              "duration": 0.189
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "error",
              "duration": 0.148,
              "message": "Connection reset while sending test fixture.\nAssertion at tests/test_asset_api.py:42",
              "artifact": "build-103-api-linux-1.xml"
            },
            {
              "attempt": 2,
              "status": "pass",
              "duration": 0.189,
              "message": "",
              "artifact": "build-103-api-linux-2.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_timeout_bounds\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_timeout_bounds",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.116,
          "message": "",
          "attempt": 1,
          "artifact": "build-103-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.104
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.11
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.116
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.116,
              "message": "",
              "artifact": "build-103-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_unicode_label\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_unicode_label",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.404,
          "message": "",
          "attempt": 1,
          "artifact": "build-103-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.392
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.398
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.404
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.404,
              "message": "",
              "artifact": "build-103-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_update_asset\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_update_asset",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.276,
          "message": "",
          "attempt": 1,
          "artifact": "build-103-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.264
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.27
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.276
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.276,
              "message": "",
              "artifact": "build-103-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_canonical_json\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_canonical_json",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.276,
          "message": "",
          "attempt": 1,
          "artifact": "build-103-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.264
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.27
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.276
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.276,
              "message": "",
              "artifact": "build-103-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_decode_header\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_decode_header",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.18,
          "message": "",
          "attempt": 1,
          "artifact": "build-103-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.168
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.174
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.18
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.18,
              "message": "",
              "artifact": "build-103-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_encode_cursor\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_encode_cursor",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.212,
          "message": "",
          "attempt": 1,
          "artifact": "build-103-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.2
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.206
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.212
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.212,
              "message": "",
              "artifact": "build-103-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_escape_filename\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_escape_filename",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.244,
          "message": "",
          "attempt": 1,
          "artifact": "build-103-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.232
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.238
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.244
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.244,
              "message": "",
              "artifact": "build-103-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_normalize_key\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_normalize_key",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.052,
          "message": "",
          "attempt": 1,
          "artifact": "build-103-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.04
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.046
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.052
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.052,
              "message": "",
              "artifact": "build-103-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_parse_quantity\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_parse_quantity",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.084,
          "message": "",
          "attempt": 1,
          "artifact": "build-103-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.072
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.078
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.084
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.084,
              "message": "",
              "artifact": "build-103-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_round_decimal\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_round_decimal",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.116,
          "message": "",
          "attempt": 1,
          "artifact": "build-103-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.104
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.11
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.116
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.116,
              "message": "",
              "artifact": "build-103-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_sort_versions\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_sort_versions",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.148,
          "message": "",
          "attempt": 1,
          "artifact": "build-103-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.136
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.142
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.148
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.148,
              "message": "",
              "artifact": "build-103-unit-linux-1.xml"
            }
          ]
        }
      ],
      "counts": {
        "new failure": 0,
        "repeated failure": 1,
        "failure without baseline": 0,
        "retry pass": 1,
        "recovered": 0,
        "pass": 18,
        "skipped": 0,
        "not reported": 0
      },
      "failed": 1,
      "execution_seconds": 4.237,
      "attempts": 3,
      "observations": 21
    },
    "build-104": {
      "rows": [
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_decimal_total\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_decimal_total",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.378,
          "message": "",
          "attempt": 1,
          "artifact": "build-104-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.36
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.366
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.372
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.378
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.378,
              "message": "",
              "artifact": "build-104-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_delete_asset\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_delete_asset",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.346,
          "message": "",
          "attempt": 1,
          "artifact": "build-104-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.328
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.334
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.34
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.346
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.346,
              "message": "",
              "artifact": "build-104-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_idempotent_retry\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_idempotent_retry",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.09,
          "message": "",
          "attempt": 1,
          "artifact": "build-104-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.072
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.078
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.084
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.09
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.09,
              "message": "",
              "artifact": "build-104-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_legacy_response\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_legacy_response",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.186,
          "message": "",
          "attempt": 1,
          "artifact": "build-104-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.168
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.174
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.18
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.186
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.186,
              "message": "",
              "artifact": "build-104-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_list_assets\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_list_assets",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.314,
          "message": "",
          "attempt": 1,
          "artifact": "build-104-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.296
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.302
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.308
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.314
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.314,
              "message": "",
              "artifact": "build-104-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_parse_timestamp\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_parse_timestamp",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.25,
          "message": "",
          "attempt": 1,
          "artifact": "build-104-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.232
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.238
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.244
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.25
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.25,
              "message": "",
              "artifact": "build-104-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_provider_quota\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_provider_quota",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.218,
          "message": "",
          "attempt": 1,
          "artifact": "build-104-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.2
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.206
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.212
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.218
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.218,
              "message": "",
              "artifact": "build-104-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_reject_invalid_token\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_reject_invalid_token",
          "first_sequence": 101,
          "status": "failure",
          "category": "repeated failure",
          "duration": 0.058,
          "message": "401 expected, 403 observed.\nAssertion at tests/test_asset_api.py:42",
          "attempt": 1,
          "artifact": "build-104-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "failure",
              "retry_pass": false,
              "duration": 0.04
            },
            {
              "build": "build-102",
              "status": "failure",
              "retry_pass": false,
              "duration": 0.046
            },
            {
              "build": "build-103",
              "status": "failure",
              "retry_pass": false,
              "duration": 0.052
            },
            {
              "build": "build-104",
              "status": "failure",
              "retry_pass": false,
              "duration": 0.058
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "failure",
              "duration": 0.058,
              "message": "401 expected, 403 observed.\nAssertion at tests/test_asset_api.py:42",
              "artifact": "build-104-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_snapshot_upload\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_snapshot_upload",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.154,
          "message": "",
          "attempt": 1,
          "artifact": "build-104-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.136
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.142
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": true,
              "duration": 0.189
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.154
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.154,
              "message": "",
              "artifact": "build-104-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_timeout_bounds\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_timeout_bounds",
          "first_sequence": 101,
          "status": "failure",
          "category": "new failure",
          "duration": 0.122,
          "message": "Expected timeout before 2 s.\nAssertion at tests/test_asset_api.py:42",
          "attempt": 1,
          "artifact": "build-104-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.104
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.11
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.116
            },
            {
              "build": "build-104",
              "status": "failure",
              "retry_pass": false,
              "duration": 0.122
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "failure",
              "duration": 0.122,
              "message": "Expected timeout before 2 s.\nAssertion at tests/test_asset_api.py:42",
              "artifact": "build-104-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_unicode_label\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_unicode_label",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.41,
          "message": "",
          "attempt": 1,
          "artifact": "build-104-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.392
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.398
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.404
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.41
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.41,
              "message": "",
              "artifact": "build-104-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_update_asset\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_update_asset",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.282,
          "message": "",
          "attempt": 1,
          "artifact": "build-104-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.264
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.27
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.276
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.282
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.282,
              "message": "",
              "artifact": "build-104-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_canonical_json\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_canonical_json",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.282,
          "message": "",
          "attempt": 1,
          "artifact": "build-104-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.264
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.27
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.276
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.282
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.282,
              "message": "",
              "artifact": "build-104-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_decode_header\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_decode_header",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.186,
          "message": "",
          "attempt": 1,
          "artifact": "build-104-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.168
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.174
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.18
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.186
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.186,
              "message": "",
              "artifact": "build-104-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_encode_cursor\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_encode_cursor",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.218,
          "message": "",
          "attempt": 1,
          "artifact": "build-104-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.2
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.206
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.212
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.218
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.218,
              "message": "",
              "artifact": "build-104-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_escape_filename\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_escape_filename",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.25,
          "message": "",
          "attempt": 1,
          "artifact": "build-104-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.232
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.238
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.244
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.25
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.25,
              "message": "",
              "artifact": "build-104-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_normalize_key\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_normalize_key",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.058,
          "message": "",
          "attempt": 1,
          "artifact": "build-104-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.04
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.046
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.052
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.058
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.058,
              "message": "",
              "artifact": "build-104-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_parse_quantity\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_parse_quantity",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.09,
          "message": "",
          "attempt": 1,
          "artifact": "build-104-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.072
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.078
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.084
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.09
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.09,
              "message": "",
              "artifact": "build-104-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_round_decimal\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_round_decimal",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.122,
          "message": "",
          "attempt": 1,
          "artifact": "build-104-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.104
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.11
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.116
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.122
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.122,
              "message": "",
              "artifact": "build-104-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_sort_versions\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_sort_versions",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.154,
          "message": "",
          "attempt": 1,
          "artifact": "build-104-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.136
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.142
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.148
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.154
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.154,
              "message": "",
              "artifact": "build-104-unit-linux-1.xml"
            }
          ]
        }
      ],
      "counts": {
        "new failure": 1,
        "repeated failure": 1,
        "failure without baseline": 0,
        "retry pass": 0,
        "recovered": 0,
        "pass": 18,
        "skipped": 0,
        "not reported": 0
      },
      "failed": 2,
      "execution_seconds": 4.168,
      "attempts": 2,
      "observations": 20
    },
    "build-105": {
      "rows": [
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_decimal_total\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_decimal_total",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.384,
          "message": "",
          "attempt": 1,
          "artifact": "build-105-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.36
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.366
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.372
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.378
            },
            {
              "build": "build-105",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.384
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.384,
              "message": "",
              "artifact": "build-105-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_delete_asset\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_delete_asset",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.352,
          "message": "",
          "attempt": 1,
          "artifact": "build-105-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.328
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.334
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.34
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.346
            },
            {
              "build": "build-105",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.352
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.352,
              "message": "",
              "artifact": "build-105-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_idempotent_retry\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_idempotent_retry",
          "first_sequence": 101,
          "status": "failure",
          "category": "new failure",
          "duration": 0.096,
          "message": "Duplicate request produced a second asset revision.\nAssertion at tests/test_asset_api.py:42",
          "attempt": 1,
          "artifact": "build-105-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.072
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.078
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.084
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.09
            },
            {
              "build": "build-105",
              "status": "failure",
              "retry_pass": false,
              "duration": 0.096
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "failure",
              "duration": 0.096,
              "message": "Duplicate request produced a second asset revision.\nAssertion at tests/test_asset_api.py:42",
              "artifact": "build-105-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_legacy_response\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_legacy_response",
          "first_sequence": 101,
          "status": "not reported",
          "category": "not reported",
          "duration": null,
          "message": "No result in the latest full attempt or a later partial retry.",
          "attempt": null,
          "artifact": null,
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.168
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.174
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.18
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.186
            },
            {
              "build": "build-105",
              "status": "not reported",
              "retry_pass": false,
              "duration": null
            }
          ],
          "attempts": []
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_list_assets\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_list_assets",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.32,
          "message": "",
          "attempt": 1,
          "artifact": "build-105-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.296
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.302
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.308
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.314
            },
            {
              "build": "build-105",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.32
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.32,
              "message": "",
              "artifact": "build-105-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_parse_timestamp\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_parse_timestamp",
          "first_sequence": 101,
          "status": "error",
          "category": "new failure",
          "duration": 0.256,
          "message": "ValueError: invalid timestamp in fixture.\nAssertion at tests/test_asset_api.py:42",
          "attempt": 1,
          "artifact": "build-105-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.232
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.238
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.244
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.25
            },
            {
              "build": "build-105",
              "status": "error",
              "retry_pass": false,
              "duration": 0.256
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "error",
              "duration": 0.256,
              "message": "ValueError: invalid timestamp in fixture.\nAssertion at tests/test_asset_api.py:42",
              "artifact": "build-105-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_provider_quota\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_provider_quota",
          "first_sequence": 101,
          "status": "skipped",
          "category": "skipped",
          "duration": 0.224,
          "message": "Provider fixture unavailable; no pass result recorded.\nAssertion at tests/test_asset_api.py:42",
          "attempt": 1,
          "artifact": "build-105-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.2
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.206
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.212
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.218
            },
            {
              "build": "build-105",
              "status": "skipped",
              "retry_pass": false,
              "duration": 0.224
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "skipped",
              "duration": 0.224,
              "message": "Provider fixture unavailable; no pass result recorded.\nAssertion at tests/test_asset_api.py:42",
              "artifact": "build-105-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_query_pagination\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_query_pagination",
          "first_sequence": 105,
          "status": "pass",
          "category": "pass",
          "duration": 0.24,
          "message": "",
          "attempt": 1,
          "artifact": "build-105-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "not reported",
              "retry_pass": false,
              "duration": null
            },
            {
              "build": "build-102",
              "status": "not reported",
              "retry_pass": false,
              "duration": null
            },
            {
              "build": "build-103",
              "status": "not reported",
              "retry_pass": false,
              "duration": null
            },
            {
              "build": "build-104",
              "status": "not reported",
              "retry_pass": false,
              "duration": null
            },
            {
              "build": "build-105",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.24
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.24,
              "message": "",
              "artifact": "build-105-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_reject_invalid_token\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_reject_invalid_token",
          "first_sequence": 101,
          "status": "failure",
          "category": "repeated failure",
          "duration": 0.064,
          "message": "401 expected, 403 observed.\nAssertion at tests/test_asset_api.py:42",
          "attempt": 1,
          "artifact": "build-105-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "failure",
              "retry_pass": false,
              "duration": 0.04
            },
            {
              "build": "build-102",
              "status": "failure",
              "retry_pass": false,
              "duration": 0.046
            },
            {
              "build": "build-103",
              "status": "failure",
              "retry_pass": false,
              "duration": 0.052
            },
            {
              "build": "build-104",
              "status": "failure",
              "retry_pass": false,
              "duration": 0.058
            },
            {
              "build": "build-105",
              "status": "failure",
              "retry_pass": false,
              "duration": 0.064
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "failure",
              "duration": 0.064,
              "message": "401 expected, 403 observed.\nAssertion at tests/test_asset_api.py:42",
              "artifact": "build-105-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_snapshot_upload\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_snapshot_upload",
          "first_sequence": 101,
          "status": "pass",
          "category": "retry pass",
          "duration": 0.189,
          "message": "",
          "attempt": 2,
          "artifact": "build-105-api-linux-2.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.136
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.142
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": true,
              "duration": 0.189
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.154
            },
            {
              "build": "build-105",
              "status": "pass",
              "retry_pass": true,
              "duration": 0.189
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "error",
              "duration": 0.16,
              "message": "Connection reset while sending test fixture.\nAssertion at tests/test_asset_api.py:42",
              "artifact": "build-105-api-linux-1.xml"
            },
            {
              "attempt": 2,
              "status": "pass",
              "duration": 0.189,
              "message": "",
              "artifact": "build-105-api-linux-2.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_timeout_bounds\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_timeout_bounds",
          "first_sequence": 101,
          "status": "pass",
          "category": "recovered",
          "duration": 0.128,
          "message": "",
          "attempt": 1,
          "artifact": "build-105-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.104
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.11
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.116
            },
            {
              "build": "build-104",
              "status": "failure",
              "retry_pass": false,
              "duration": 0.122
            },
            {
              "build": "build-105",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.128
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.128,
              "message": "",
              "artifact": "build-105-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_unicode_label\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_unicode_label",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.416,
          "message": "",
          "attempt": 1,
          "artifact": "build-105-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.392
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.398
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.404
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.41
            },
            {
              "build": "build-105",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.416
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.416,
              "message": "",
              "artifact": "build-105-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "api-linux",
          "key": "[\"tests/test_asset_api.py\",\"AssetApiTests\",\"test_update_asset\"]",
          "file": "tests/test_asset_api.py",
          "classname": "AssetApiTests",
          "name": "test_update_asset",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.288,
          "message": "",
          "attempt": 1,
          "artifact": "build-105-api-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.264
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.27
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.276
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.282
            },
            {
              "build": "build-105",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.288
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.288,
              "message": "",
              "artifact": "build-105-api-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_canonical_json\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_canonical_json",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.288,
          "message": "",
          "attempt": 1,
          "artifact": "build-105-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.264
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.27
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.276
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.282
            },
            {
              "build": "build-105",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.288
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.288,
              "message": "",
              "artifact": "build-105-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_decode_header\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_decode_header",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.192,
          "message": "",
          "attempt": 1,
          "artifact": "build-105-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.168
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.174
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.18
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.186
            },
            {
              "build": "build-105",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.192
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.192,
              "message": "",
              "artifact": "build-105-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_encode_cursor\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_encode_cursor",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.224,
          "message": "",
          "attempt": 1,
          "artifact": "build-105-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.2
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.206
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.212
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.218
            },
            {
              "build": "build-105",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.224
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.224,
              "message": "",
              "artifact": "build-105-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_escape_filename\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_escape_filename",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.256,
          "message": "",
          "attempt": 1,
          "artifact": "build-105-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.232
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.238
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.244
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.25
            },
            {
              "build": "build-105",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.256
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.256,
              "message": "",
              "artifact": "build-105-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_normalize_key\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_normalize_key",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.064,
          "message": "",
          "attempt": 1,
          "artifact": "build-105-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.04
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.046
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.052
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.058
            },
            {
              "build": "build-105",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.064
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.064,
              "message": "",
              "artifact": "build-105-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_parse_quantity\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_parse_quantity",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.096,
          "message": "",
          "attempt": 1,
          "artifact": "build-105-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.072
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.078
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.084
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.09
            },
            {
              "build": "build-105",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.096
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.096,
              "message": "",
              "artifact": "build-105-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_round_decimal\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_round_decimal",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.128,
          "message": "",
          "attempt": 1,
          "artifact": "build-105-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.104
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.11
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.116
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.122
            },
            {
              "build": "build-105",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.128
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.128,
              "message": "",
              "artifact": "build-105-unit-linux-1.xml"
            }
          ]
        },
        {
          "job": "unit-linux",
          "key": "[\"tests/test_serializers.py\",\"SerializerTests\",\"test_sort_versions\"]",
          "file": "tests/test_serializers.py",
          "classname": "SerializerTests",
          "name": "test_sort_versions",
          "first_sequence": 101,
          "status": "pass",
          "category": "pass",
          "duration": 0.16,
          "message": "",
          "attempt": 1,
          "artifact": "build-105-unit-linux-1.xml",
          "history": [
            {
              "build": "build-101",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.136
            },
            {
              "build": "build-102",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.142
            },
            {
              "build": "build-103",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.148
            },
            {
              "build": "build-104",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.154
            },
            {
              "build": "build-105",
              "status": "pass",
              "retry_pass": false,
              "duration": 0.16
            }
          ],
          "attempts": [
            {
              "attempt": 1,
              "status": "pass",
              "duration": 0.16,
              "message": "",
              "artifact": "build-105-unit-linux-1.xml"
            }
          ]
        }
      ],
      "counts": {
        "new failure": 2,
        "repeated failure": 1,
        "failure without baseline": 0,
        "retry pass": 1,
        "recovered": 1,
        "pass": 14,
        "skipped": 1,
        "not reported": 1
      },
      "failed": 3,
      "execution_seconds": 4.525,
      "attempts": 3,
      "observations": 21
    }
  },
  "artifacts": [
    {
      "build": "build-101",
      "job": "api-linux",
      "attempt": 1,
      "name": "build-101-api-linux-1.xml",
      "sha256": "29c844c4f8926224a82e908dc115b7051ac78cdc2c7dca4effa2295d0d93df22",
      "content": "PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0ndXRmLTgnPz4KPHRlc3RzdWl0ZXM+PHRlc3RzdWl0ZSBuYW1lPSJzZXJ2aWNlIj48dGVzdHN1aXRlIG5hbWU9ImNvbnRyYWN0Ij48dGVzdGNhc2UgbmFtZT0idGVzdF9yZWplY3RfaW52YWxpZF90b2tlbiIgY2xhc3NuYW1lPSJBc3NldEFwaVRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weSIgdGltZT0iMC4wNCI+PGZhaWx1cmUgbWVzc2FnZT0iNDAxIGV4cGVjdGVkLCA0MDMgb2JzZXJ2ZWQuIj5Bc3NlcnRpb24gYXQgdGVzdHMvdGVzdF9hc3NldF9hcGkucHk6NDI8L2ZhaWx1cmU+PC90ZXN0Y2FzZT48dGVzdGNhc2UgbmFtZT0idGVzdF9pZGVtcG90ZW50X3JldHJ5IiBjbGFzc25hbWU9IkFzc2V0QXBpVGVzdHMiIGZpbGU9InRlc3RzL3Rlc3RfYXNzZXRfYXBpLnB5IiB0aW1lPSIwLjA3MiIgLz48dGVzdGNhc2UgbmFtZT0idGVzdF90aW1lb3V0X2JvdW5kcyIgY2xhc3NuYW1lPSJBc3NldEFwaVRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weSIgdGltZT0iMC4xMDQiIC8+PHRlc3RjYXNlIG5hbWU9InRlc3Rfc25hcHNob3RfdXBsb2FkIiBjbGFzc25hbWU9IkFzc2V0QXBpVGVzdHMiIGZpbGU9InRlc3RzL3Rlc3RfYXNzZXRfYXBpLnB5IiB0aW1lPSIwLjEzNiIgLz48dGVzdGNhc2UgbmFtZT0idGVzdF9sZWdhY3lfcmVzcG9uc2UiIGNsYXNzbmFtZT0iQXNzZXRBcGlUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9hc3NldF9hcGkucHkiIHRpbWU9IjAuMTY4IiAvPjx0ZXN0Y2FzZSBuYW1lPSJ0ZXN0X3Byb3ZpZGVyX3F1b3RhIiBjbGFzc25hbWU9IkFzc2V0QXBpVGVzdHMiIGZpbGU9InRlc3RzL3Rlc3RfYXNzZXRfYXBpLnB5IiB0aW1lPSIwLjIiIC8+PHRlc3RjYXNlIG5hbWU9InRlc3RfcGFyc2VfdGltZXN0YW1wIiBjbGFzc25hbWU9IkFzc2V0QXBpVGVzdHMiIGZpbGU9InRlc3RzL3Rlc3RfYXNzZXRfYXBpLnB5IiB0aW1lPSIwLjIzMiIgLz48dGVzdGNhc2UgbmFtZT0idGVzdF91cGRhdGVfYXNzZXQiIGNsYXNzbmFtZT0iQXNzZXRBcGlUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9hc3NldF9hcGkucHkiIHRpbWU9IjAuMjY0IiAvPjx0ZXN0Y2FzZSBuYW1lPSJ0ZXN0X2xpc3RfYXNzZXRzIiBjbGFzc25hbWU9IkFzc2V0QXBpVGVzdHMiIGZpbGU9InRlc3RzL3Rlc3RfYXNzZXRfYXBpLnB5IiB0aW1lPSIwLjI5NiIgLz48dGVzdGNhc2UgbmFtZT0idGVzdF9kZWxldGVfYXNzZXQiIGNsYXNzbmFtZT0iQXNzZXRBcGlUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9hc3NldF9hcGkucHkiIHRpbWU9IjAuMzI4IiAvPjx0ZXN0Y2FzZSBuYW1lPSJ0ZXN0X2RlY2ltYWxfdG90YWwiIGNsYXNzbmFtZT0iQXNzZXRBcGlUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9hc3NldF9hcGkucHkiIHRpbWU9IjAuMzYiIC8+PHRlc3RjYXNlIG5hbWU9InRlc3RfdW5pY29kZV9sYWJlbCIgY2xhc3NuYW1lPSJBc3NldEFwaVRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weSIgdGltZT0iMC4zOTIiIC8+PC90ZXN0c3VpdGU+PC90ZXN0c3VpdGU+PC90ZXN0c3VpdGVzPg=="
    },
    {
      "build": "build-101",
      "job": "unit-linux",
      "attempt": 1,
      "name": "build-101-unit-linux-1.xml",
      "sha256": "2706489920d2dc3fd7f470d41d5e91b3e34fdd1961fc5922065056dffb62d21c",
      "content": "PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0ndXRmLTgnPz4KPHRlc3RzdWl0ZXM+PHRlc3RzdWl0ZSBuYW1lPSJzZXJ2aWNlIj48dGVzdHN1aXRlIG5hbWU9ImNvbnRyYWN0Ij48dGVzdGNhc2UgbmFtZT0idGVzdF9ub3JtYWxpemVfa2V5IiBjbGFzc25hbWU9IlNlcmlhbGl6ZXJUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9zZXJpYWxpemVycy5weSIgdGltZT0iMC4wNCIgLz48dGVzdGNhc2UgbmFtZT0idGVzdF9wYXJzZV9xdWFudGl0eSIgY2xhc3NuYW1lPSJTZXJpYWxpemVyVGVzdHMiIGZpbGU9InRlc3RzL3Rlc3Rfc2VyaWFsaXplcnMucHkiIHRpbWU9IjAuMDcyIiAvPjx0ZXN0Y2FzZSBuYW1lPSJ0ZXN0X3JvdW5kX2RlY2ltYWwiIGNsYXNzbmFtZT0iU2VyaWFsaXplclRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X3NlcmlhbGl6ZXJzLnB5IiB0aW1lPSIwLjEwNCIgLz48dGVzdGNhc2UgbmFtZT0idGVzdF9zb3J0X3ZlcnNpb25zIiBjbGFzc25hbWU9IlNlcmlhbGl6ZXJUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9zZXJpYWxpemVycy5weSIgdGltZT0iMC4xMzYiIC8+PHRlc3RjYXNlIG5hbWU9InRlc3RfZGVjb2RlX2hlYWRlciIgY2xhc3NuYW1lPSJTZXJpYWxpemVyVGVzdHMiIGZpbGU9InRlc3RzL3Rlc3Rfc2VyaWFsaXplcnMucHkiIHRpbWU9IjAuMTY4IiAvPjx0ZXN0Y2FzZSBuYW1lPSJ0ZXN0X2VuY29kZV9jdXJzb3IiIGNsYXNzbmFtZT0iU2VyaWFsaXplclRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X3NlcmlhbGl6ZXJzLnB5IiB0aW1lPSIwLjIiIC8+PHRlc3RjYXNlIG5hbWU9InRlc3RfZXNjYXBlX2ZpbGVuYW1lIiBjbGFzc25hbWU9IlNlcmlhbGl6ZXJUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9zZXJpYWxpemVycy5weSIgdGltZT0iMC4yMzIiIC8+PHRlc3RjYXNlIG5hbWU9InRlc3RfY2Fub25pY2FsX2pzb24iIGNsYXNzbmFtZT0iU2VyaWFsaXplclRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X3NlcmlhbGl6ZXJzLnB5IiB0aW1lPSIwLjI2NCIgLz48L3Rlc3RzdWl0ZT48L3Rlc3RzdWl0ZT48L3Rlc3RzdWl0ZXM+"
    },
    {
      "build": "build-102",
      "job": "api-linux",
      "attempt": 1,
      "name": "build-102-api-linux-1.xml",
      "sha256": "89e4b826cb49ed60845ef0f7ff157bdb954d59acd27644395547e902698f149d",
      "content": "PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0ndXRmLTgnPz4KPG5zMDp0ZXN0c3VpdGVzIHhtbG5zOm5zMD0idXJuOmV4YW1wbGU6anVuaXQiPjxuczA6dGVzdHN1aXRlIG5hbWU9InNlcnZpY2UiPjxuczA6dGVzdHN1aXRlIG5hbWU9ImNvbnRyYWN0Ij48bnMwOnRlc3RjYXNlIG5hbWU9InRlc3RfcmVqZWN0X2ludmFsaWRfdG9rZW4iIGNsYXNzbmFtZT0iQXNzZXRBcGlUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9hc3NldF9hcGkucHkiIHRpbWU9IjAuMDQ2Ij48bnMwOmZhaWx1cmUgbWVzc2FnZT0iNDAxIGV4cGVjdGVkLCA0MDMgb2JzZXJ2ZWQuIj5Bc3NlcnRpb24gYXQgdGVzdHMvdGVzdF9hc3NldF9hcGkucHk6NDI8L25zMDpmYWlsdXJlPjwvbnMwOnRlc3RjYXNlPjxuczA6dGVzdGNhc2UgbmFtZT0idGVzdF9pZGVtcG90ZW50X3JldHJ5IiBjbGFzc25hbWU9IkFzc2V0QXBpVGVzdHMiIGZpbGU9InRlc3RzL3Rlc3RfYXNzZXRfYXBpLnB5IiB0aW1lPSIwLjA3OCIgLz48bnMwOnRlc3RjYXNlIG5hbWU9InRlc3RfdGltZW91dF9ib3VuZHMiIGNsYXNzbmFtZT0iQXNzZXRBcGlUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9hc3NldF9hcGkucHkiIHRpbWU9IjAuMTEiIC8+PG5zMDp0ZXN0Y2FzZSBuYW1lPSJ0ZXN0X3NuYXBzaG90X3VwbG9hZCIgY2xhc3NuYW1lPSJBc3NldEFwaVRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weSIgdGltZT0iMC4xNDIiIC8+PG5zMDp0ZXN0Y2FzZSBuYW1lPSJ0ZXN0X2xlZ2FjeV9yZXNwb25zZSIgY2xhc3NuYW1lPSJBc3NldEFwaVRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weSIgdGltZT0iMC4xNzQiIC8+PG5zMDp0ZXN0Y2FzZSBuYW1lPSJ0ZXN0X3Byb3ZpZGVyX3F1b3RhIiBjbGFzc25hbWU9IkFzc2V0QXBpVGVzdHMiIGZpbGU9InRlc3RzL3Rlc3RfYXNzZXRfYXBpLnB5IiB0aW1lPSIwLjIwNiIgLz48bnMwOnRlc3RjYXNlIG5hbWU9InRlc3RfcGFyc2VfdGltZXN0YW1wIiBjbGFzc25hbWU9IkFzc2V0QXBpVGVzdHMiIGZpbGU9InRlc3RzL3Rlc3RfYXNzZXRfYXBpLnB5IiB0aW1lPSIwLjIzOCIgLz48bnMwOnRlc3RjYXNlIG5hbWU9InRlc3RfdXBkYXRlX2Fzc2V0IiBjbGFzc25hbWU9IkFzc2V0QXBpVGVzdHMiIGZpbGU9InRlc3RzL3Rlc3RfYXNzZXRfYXBpLnB5IiB0aW1lPSIwLjI3IiAvPjxuczA6dGVzdGNhc2UgbmFtZT0idGVzdF9saXN0X2Fzc2V0cyIgY2xhc3NuYW1lPSJBc3NldEFwaVRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weSIgdGltZT0iMC4zMDIiIC8+PG5zMDp0ZXN0Y2FzZSBuYW1lPSJ0ZXN0X2RlbGV0ZV9hc3NldCIgY2xhc3NuYW1lPSJBc3NldEFwaVRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weSIgdGltZT0iMC4zMzQiIC8+PG5zMDp0ZXN0Y2FzZSBuYW1lPSJ0ZXN0X2RlY2ltYWxfdG90YWwiIGNsYXNzbmFtZT0iQXNzZXRBcGlUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9hc3NldF9hcGkucHkiIHRpbWU9IjAuMzY2IiAvPjxuczA6dGVzdGNhc2UgbmFtZT0idGVzdF91bmljb2RlX2xhYmVsIiBjbGFzc25hbWU9IkFzc2V0QXBpVGVzdHMiIGZpbGU9InRlc3RzL3Rlc3RfYXNzZXRfYXBpLnB5IiB0aW1lPSIwLjM5OCIgLz48L25zMDp0ZXN0c3VpdGU+PC9uczA6dGVzdHN1aXRlPjwvbnMwOnRlc3RzdWl0ZXM+"
    },
    {
      "build": "build-102",
      "job": "unit-linux",
      "attempt": 1,
      "name": "build-102-unit-linux-1.xml",
      "sha256": "cce0324b71f7c8b6ce742b8552f2bc9857724158ee93e4ecbe43ef89305fe6c5",
      "content": "PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0ndXRmLTgnPz4KPG5zMDp0ZXN0c3VpdGVzIHhtbG5zOm5zMD0idXJuOmV4YW1wbGU6anVuaXQiPjxuczA6dGVzdHN1aXRlIG5hbWU9InNlcnZpY2UiPjxuczA6dGVzdHN1aXRlIG5hbWU9ImNvbnRyYWN0Ij48bnMwOnRlc3RjYXNlIG5hbWU9InRlc3Rfbm9ybWFsaXplX2tleSIgY2xhc3NuYW1lPSJTZXJpYWxpemVyVGVzdHMiIGZpbGU9InRlc3RzL3Rlc3Rfc2VyaWFsaXplcnMucHkiIHRpbWU9IjAuMDQ2IiAvPjxuczA6dGVzdGNhc2UgbmFtZT0idGVzdF9wYXJzZV9xdWFudGl0eSIgY2xhc3NuYW1lPSJTZXJpYWxpemVyVGVzdHMiIGZpbGU9InRlc3RzL3Rlc3Rfc2VyaWFsaXplcnMucHkiIHRpbWU9IjAuMDc4IiAvPjxuczA6dGVzdGNhc2UgbmFtZT0idGVzdF9yb3VuZF9kZWNpbWFsIiBjbGFzc25hbWU9IlNlcmlhbGl6ZXJUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9zZXJpYWxpemVycy5weSIgdGltZT0iMC4xMSIgLz48bnMwOnRlc3RjYXNlIG5hbWU9InRlc3Rfc29ydF92ZXJzaW9ucyIgY2xhc3NuYW1lPSJTZXJpYWxpemVyVGVzdHMiIGZpbGU9InRlc3RzL3Rlc3Rfc2VyaWFsaXplcnMucHkiIHRpbWU9IjAuMTQyIiAvPjxuczA6dGVzdGNhc2UgbmFtZT0idGVzdF9kZWNvZGVfaGVhZGVyIiBjbGFzc25hbWU9IlNlcmlhbGl6ZXJUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9zZXJpYWxpemVycy5weSIgdGltZT0iMC4xNzQiIC8+PG5zMDp0ZXN0Y2FzZSBuYW1lPSJ0ZXN0X2VuY29kZV9jdXJzb3IiIGNsYXNzbmFtZT0iU2VyaWFsaXplclRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X3NlcmlhbGl6ZXJzLnB5IiB0aW1lPSIwLjIwNiIgLz48bnMwOnRlc3RjYXNlIG5hbWU9InRlc3RfZXNjYXBlX2ZpbGVuYW1lIiBjbGFzc25hbWU9IlNlcmlhbGl6ZXJUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9zZXJpYWxpemVycy5weSIgdGltZT0iMC4yMzgiIC8+PG5zMDp0ZXN0Y2FzZSBuYW1lPSJ0ZXN0X2Nhbm9uaWNhbF9qc29uIiBjbGFzc25hbWU9IlNlcmlhbGl6ZXJUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9zZXJpYWxpemVycy5weSIgdGltZT0iMC4yNyIgLz48L25zMDp0ZXN0c3VpdGU+PC9uczA6dGVzdHN1aXRlPjwvbnMwOnRlc3RzdWl0ZXM+"
    },
    {
      "build": "build-103",
      "job": "api-linux",
      "attempt": 1,
      "name": "build-103-api-linux-1.xml",
      "sha256": "2a660b418bf818fc73c83acc29f95bb34ca98d3fddb6bc312074d6bd5808fa3b",
      "content": "PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0ndXRmLTgnPz4KPHRlc3RzdWl0ZXM+PHRlc3RzdWl0ZSBuYW1lPSJzZXJ2aWNlIj48dGVzdHN1aXRlIG5hbWU9ImNvbnRyYWN0Ij48dGVzdGNhc2UgbmFtZT0idGVzdF9yZWplY3RfaW52YWxpZF90b2tlbiIgY2xhc3NuYW1lPSJBc3NldEFwaVRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weSIgdGltZT0iMC4wNTIiPjxmYWlsdXJlIG1lc3NhZ2U9IjQwMSBleHBlY3RlZCwgNDAzIG9ic2VydmVkLiI+QXNzZXJ0aW9uIGF0IHRlc3RzL3Rlc3RfYXNzZXRfYXBpLnB5OjQyPC9mYWlsdXJlPjwvdGVzdGNhc2U+PHRlc3RjYXNlIG5hbWU9InRlc3RfaWRlbXBvdGVudF9yZXRyeSIgY2xhc3NuYW1lPSJBc3NldEFwaVRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weSIgdGltZT0iMC4wODQiIC8+PHRlc3RjYXNlIG5hbWU9InRlc3RfdGltZW91dF9ib3VuZHMiIGNsYXNzbmFtZT0iQXNzZXRBcGlUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9hc3NldF9hcGkucHkiIHRpbWU9IjAuMTE2IiAvPjx0ZXN0Y2FzZSBuYW1lPSJ0ZXN0X3NuYXBzaG90X3VwbG9hZCIgY2xhc3NuYW1lPSJBc3NldEFwaVRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weSIgdGltZT0iMC4xNDgiPjxlcnJvciBtZXNzYWdlPSJDb25uZWN0aW9uIHJlc2V0IHdoaWxlIHNlbmRpbmcgdGVzdCBmaXh0dXJlLiI+QXNzZXJ0aW9uIGF0IHRlc3RzL3Rlc3RfYXNzZXRfYXBpLnB5OjQyPC9lcnJvcj48L3Rlc3RjYXNlPjx0ZXN0Y2FzZSBuYW1lPSJ0ZXN0X2xlZ2FjeV9yZXNwb25zZSIgY2xhc3NuYW1lPSJBc3NldEFwaVRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weSIgdGltZT0iMC4xOCIgLz48dGVzdGNhc2UgbmFtZT0idGVzdF9wcm92aWRlcl9xdW90YSIgY2xhc3NuYW1lPSJBc3NldEFwaVRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weSIgdGltZT0iMC4yMTIiIC8+PHRlc3RjYXNlIG5hbWU9InRlc3RfcGFyc2VfdGltZXN0YW1wIiBjbGFzc25hbWU9IkFzc2V0QXBpVGVzdHMiIGZpbGU9InRlc3RzL3Rlc3RfYXNzZXRfYXBpLnB5IiB0aW1lPSIwLjI0NCIgLz48dGVzdGNhc2UgbmFtZT0idGVzdF91cGRhdGVfYXNzZXQiIGNsYXNzbmFtZT0iQXNzZXRBcGlUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9hc3NldF9hcGkucHkiIHRpbWU9IjAuMjc2IiAvPjx0ZXN0Y2FzZSBuYW1lPSJ0ZXN0X2xpc3RfYXNzZXRzIiBjbGFzc25hbWU9IkFzc2V0QXBpVGVzdHMiIGZpbGU9InRlc3RzL3Rlc3RfYXNzZXRfYXBpLnB5IiB0aW1lPSIwLjMwOCIgLz48dGVzdGNhc2UgbmFtZT0idGVzdF9kZWxldGVfYXNzZXQiIGNsYXNzbmFtZT0iQXNzZXRBcGlUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9hc3NldF9hcGkucHkiIHRpbWU9IjAuMzQiIC8+PHRlc3RjYXNlIG5hbWU9InRlc3RfZGVjaW1hbF90b3RhbCIgY2xhc3NuYW1lPSJBc3NldEFwaVRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weSIgdGltZT0iMC4zNzIiIC8+PHRlc3RjYXNlIG5hbWU9InRlc3RfdW5pY29kZV9sYWJlbCIgY2xhc3NuYW1lPSJBc3NldEFwaVRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weSIgdGltZT0iMC40MDQiIC8+PC90ZXN0c3VpdGU+PC90ZXN0c3VpdGU+PC90ZXN0c3VpdGVzPg=="
    },
    {
      "build": "build-103",
      "job": "api-linux",
      "attempt": 2,
      "name": "build-103-api-linux-2.xml",
      "sha256": "3d39e1684e0289cf4a193dfda9dd3fafd345d1442d76e3a886923ef35e73ec5a",
      "content": "PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0ndXRmLTgnPz4KPHRlc3RzdWl0ZXM+PHRlc3RzdWl0ZSBuYW1lPSJzZXJ2aWNlIj48dGVzdHN1aXRlIG5hbWU9ImNvbnRyYWN0Ij48dGVzdGNhc2UgbmFtZT0idGVzdF9zbmFwc2hvdF91cGxvYWQiIGNsYXNzbmFtZT0iQXNzZXRBcGlUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9hc3NldF9hcGkucHkiIHRpbWU9IjAuMTg5IiAvPjwvdGVzdHN1aXRlPjwvdGVzdHN1aXRlPjwvdGVzdHN1aXRlcz4="
    },
    {
      "build": "build-103",
      "job": "unit-linux",
      "attempt": 1,
      "name": "build-103-unit-linux-1.xml",
      "sha256": "6109534dfe618f09773bab35078a9f7cad74b94b0ee063f8459f653ca50db7ef",
      "content": "PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0ndXRmLTgnPz4KPHRlc3RzdWl0ZXM+PHRlc3RzdWl0ZSBuYW1lPSJzZXJ2aWNlIj48dGVzdHN1aXRlIG5hbWU9ImNvbnRyYWN0Ij48dGVzdGNhc2UgbmFtZT0idGVzdF9ub3JtYWxpemVfa2V5IiBjbGFzc25hbWU9IlNlcmlhbGl6ZXJUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9zZXJpYWxpemVycy5weSIgdGltZT0iMC4wNTIiIC8+PHRlc3RjYXNlIG5hbWU9InRlc3RfcGFyc2VfcXVhbnRpdHkiIGNsYXNzbmFtZT0iU2VyaWFsaXplclRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X3NlcmlhbGl6ZXJzLnB5IiB0aW1lPSIwLjA4NCIgLz48dGVzdGNhc2UgbmFtZT0idGVzdF9yb3VuZF9kZWNpbWFsIiBjbGFzc25hbWU9IlNlcmlhbGl6ZXJUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9zZXJpYWxpemVycy5weSIgdGltZT0iMC4xMTYiIC8+PHRlc3RjYXNlIG5hbWU9InRlc3Rfc29ydF92ZXJzaW9ucyIgY2xhc3NuYW1lPSJTZXJpYWxpemVyVGVzdHMiIGZpbGU9InRlc3RzL3Rlc3Rfc2VyaWFsaXplcnMucHkiIHRpbWU9IjAuMTQ4IiAvPjx0ZXN0Y2FzZSBuYW1lPSJ0ZXN0X2RlY29kZV9oZWFkZXIiIGNsYXNzbmFtZT0iU2VyaWFsaXplclRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X3NlcmlhbGl6ZXJzLnB5IiB0aW1lPSIwLjE4IiAvPjx0ZXN0Y2FzZSBuYW1lPSJ0ZXN0X2VuY29kZV9jdXJzb3IiIGNsYXNzbmFtZT0iU2VyaWFsaXplclRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X3NlcmlhbGl6ZXJzLnB5IiB0aW1lPSIwLjIxMiIgLz48dGVzdGNhc2UgbmFtZT0idGVzdF9lc2NhcGVfZmlsZW5hbWUiIGNsYXNzbmFtZT0iU2VyaWFsaXplclRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X3NlcmlhbGl6ZXJzLnB5IiB0aW1lPSIwLjI0NCIgLz48dGVzdGNhc2UgbmFtZT0idGVzdF9jYW5vbmljYWxfanNvbiIgY2xhc3NuYW1lPSJTZXJpYWxpemVyVGVzdHMiIGZpbGU9InRlc3RzL3Rlc3Rfc2VyaWFsaXplcnMucHkiIHRpbWU9IjAuMjc2IiAvPjwvdGVzdHN1aXRlPjwvdGVzdHN1aXRlPjwvdGVzdHN1aXRlcz4="
    },
    {
      "build": "build-104",
      "job": "api-linux",
      "attempt": 1,
      "name": "build-104-api-linux-1.xml",
      "sha256": "4d3c98466219998a95c5e70a657cf53c066eb6f00d9fbdd7cb8ac8039becf3dc",
      "content": "PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0ndXRmLTgnPz4KPHRlc3RzdWl0ZXM+PHRlc3RzdWl0ZSBuYW1lPSJzZXJ2aWNlIj48dGVzdHN1aXRlIG5hbWU9ImNvbnRyYWN0Ij48dGVzdGNhc2UgbmFtZT0idGVzdF9yZWplY3RfaW52YWxpZF90b2tlbiIgY2xhc3NuYW1lPSJBc3NldEFwaVRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weSIgdGltZT0iMC4wNTgiPjxmYWlsdXJlIG1lc3NhZ2U9IjQwMSBleHBlY3RlZCwgNDAzIG9ic2VydmVkLiI+QXNzZXJ0aW9uIGF0IHRlc3RzL3Rlc3RfYXNzZXRfYXBpLnB5OjQyPC9mYWlsdXJlPjwvdGVzdGNhc2U+PHRlc3RjYXNlIG5hbWU9InRlc3RfaWRlbXBvdGVudF9yZXRyeSIgY2xhc3NuYW1lPSJBc3NldEFwaVRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weSIgdGltZT0iMC4wOSIgLz48dGVzdGNhc2UgbmFtZT0idGVzdF90aW1lb3V0X2JvdW5kcyIgY2xhc3NuYW1lPSJBc3NldEFwaVRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weSIgdGltZT0iMC4xMjIiPjxmYWlsdXJlIG1lc3NhZ2U9IkV4cGVjdGVkIHRpbWVvdXQgYmVmb3JlIDIgcy4iPkFzc2VydGlvbiBhdCB0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weTo0MjwvZmFpbHVyZT48L3Rlc3RjYXNlPjx0ZXN0Y2FzZSBuYW1lPSJ0ZXN0X3NuYXBzaG90X3VwbG9hZCIgY2xhc3NuYW1lPSJBc3NldEFwaVRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weSIgdGltZT0iMC4xNTQiIC8+PHRlc3RjYXNlIG5hbWU9InRlc3RfbGVnYWN5X3Jlc3BvbnNlIiBjbGFzc25hbWU9IkFzc2V0QXBpVGVzdHMiIGZpbGU9InRlc3RzL3Rlc3RfYXNzZXRfYXBpLnB5IiB0aW1lPSIwLjE4NiIgLz48dGVzdGNhc2UgbmFtZT0idGVzdF9wcm92aWRlcl9xdW90YSIgY2xhc3NuYW1lPSJBc3NldEFwaVRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weSIgdGltZT0iMC4yMTgiIC8+PHRlc3RjYXNlIG5hbWU9InRlc3RfcGFyc2VfdGltZXN0YW1wIiBjbGFzc25hbWU9IkFzc2V0QXBpVGVzdHMiIGZpbGU9InRlc3RzL3Rlc3RfYXNzZXRfYXBpLnB5IiB0aW1lPSIwLjI1IiAvPjx0ZXN0Y2FzZSBuYW1lPSJ0ZXN0X3VwZGF0ZV9hc3NldCIgY2xhc3NuYW1lPSJBc3NldEFwaVRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weSIgdGltZT0iMC4yODIiIC8+PHRlc3RjYXNlIG5hbWU9InRlc3RfbGlzdF9hc3NldHMiIGNsYXNzbmFtZT0iQXNzZXRBcGlUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9hc3NldF9hcGkucHkiIHRpbWU9IjAuMzE0IiAvPjx0ZXN0Y2FzZSBuYW1lPSJ0ZXN0X2RlbGV0ZV9hc3NldCIgY2xhc3NuYW1lPSJBc3NldEFwaVRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weSIgdGltZT0iMC4zNDYiIC8+PHRlc3RjYXNlIG5hbWU9InRlc3RfZGVjaW1hbF90b3RhbCIgY2xhc3NuYW1lPSJBc3NldEFwaVRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weSIgdGltZT0iMC4zNzgiIC8+PHRlc3RjYXNlIG5hbWU9InRlc3RfdW5pY29kZV9sYWJlbCIgY2xhc3NuYW1lPSJBc3NldEFwaVRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weSIgdGltZT0iMC40MSIgLz48L3Rlc3RzdWl0ZT48L3Rlc3RzdWl0ZT48L3Rlc3RzdWl0ZXM+"
    },
    {
      "build": "build-104",
      "job": "unit-linux",
      "attempt": 1,
      "name": "build-104-unit-linux-1.xml",
      "sha256": "47efde4df2560fa24b6dd41ad9f4a1a328326b763885d2dcabcdb905900f5aa3",
      "content": "PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0ndXRmLTgnPz4KPHRlc3RzdWl0ZXM+PHRlc3RzdWl0ZSBuYW1lPSJzZXJ2aWNlIj48dGVzdHN1aXRlIG5hbWU9ImNvbnRyYWN0Ij48dGVzdGNhc2UgbmFtZT0idGVzdF9ub3JtYWxpemVfa2V5IiBjbGFzc25hbWU9IlNlcmlhbGl6ZXJUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9zZXJpYWxpemVycy5weSIgdGltZT0iMC4wNTgiIC8+PHRlc3RjYXNlIG5hbWU9InRlc3RfcGFyc2VfcXVhbnRpdHkiIGNsYXNzbmFtZT0iU2VyaWFsaXplclRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X3NlcmlhbGl6ZXJzLnB5IiB0aW1lPSIwLjA5IiAvPjx0ZXN0Y2FzZSBuYW1lPSJ0ZXN0X3JvdW5kX2RlY2ltYWwiIGNsYXNzbmFtZT0iU2VyaWFsaXplclRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X3NlcmlhbGl6ZXJzLnB5IiB0aW1lPSIwLjEyMiIgLz48dGVzdGNhc2UgbmFtZT0idGVzdF9zb3J0X3ZlcnNpb25zIiBjbGFzc25hbWU9IlNlcmlhbGl6ZXJUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9zZXJpYWxpemVycy5weSIgdGltZT0iMC4xNTQiIC8+PHRlc3RjYXNlIG5hbWU9InRlc3RfZGVjb2RlX2hlYWRlciIgY2xhc3NuYW1lPSJTZXJpYWxpemVyVGVzdHMiIGZpbGU9InRlc3RzL3Rlc3Rfc2VyaWFsaXplcnMucHkiIHRpbWU9IjAuMTg2IiAvPjx0ZXN0Y2FzZSBuYW1lPSJ0ZXN0X2VuY29kZV9jdXJzb3IiIGNsYXNzbmFtZT0iU2VyaWFsaXplclRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X3NlcmlhbGl6ZXJzLnB5IiB0aW1lPSIwLjIxOCIgLz48dGVzdGNhc2UgbmFtZT0idGVzdF9lc2NhcGVfZmlsZW5hbWUiIGNsYXNzbmFtZT0iU2VyaWFsaXplclRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X3NlcmlhbGl6ZXJzLnB5IiB0aW1lPSIwLjI1IiAvPjx0ZXN0Y2FzZSBuYW1lPSJ0ZXN0X2Nhbm9uaWNhbF9qc29uIiBjbGFzc25hbWU9IlNlcmlhbGl6ZXJUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9zZXJpYWxpemVycy5weSIgdGltZT0iMC4yODIiIC8+PC90ZXN0c3VpdGU+PC90ZXN0c3VpdGU+PC90ZXN0c3VpdGVzPg=="
    },
    {
      "build": "build-105",
      "job": "api-linux",
      "attempt": 1,
      "name": "build-105-api-linux-1.xml",
      "sha256": "bd8db22dbe86f62d73ee712457188f12d52bb0fa0594777fa62e07ed13ba6273",
      "content": "PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0ndXRmLTgnPz4KPHRlc3RzdWl0ZXM+PHRlc3RzdWl0ZSBuYW1lPSJzZXJ2aWNlIj48dGVzdHN1aXRlIG5hbWU9ImNvbnRyYWN0Ij48dGVzdGNhc2UgbmFtZT0idGVzdF9yZWplY3RfaW52YWxpZF90b2tlbiIgY2xhc3NuYW1lPSJBc3NldEFwaVRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weSIgdGltZT0iMC4wNjQiPjxmYWlsdXJlIG1lc3NhZ2U9IjQwMSBleHBlY3RlZCwgNDAzIG9ic2VydmVkLiI+QXNzZXJ0aW9uIGF0IHRlc3RzL3Rlc3RfYXNzZXRfYXBpLnB5OjQyPC9mYWlsdXJlPjwvdGVzdGNhc2U+PHRlc3RjYXNlIG5hbWU9InRlc3RfaWRlbXBvdGVudF9yZXRyeSIgY2xhc3NuYW1lPSJBc3NldEFwaVRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weSIgdGltZT0iMC4wOTYiPjxmYWlsdXJlIG1lc3NhZ2U9IkR1cGxpY2F0ZSByZXF1ZXN0IHByb2R1Y2VkIGEgc2Vjb25kIGFzc2V0IHJldmlzaW9uLiI+QXNzZXJ0aW9uIGF0IHRlc3RzL3Rlc3RfYXNzZXRfYXBpLnB5OjQyPC9mYWlsdXJlPjwvdGVzdGNhc2U+PHRlc3RjYXNlIG5hbWU9InRlc3RfdGltZW91dF9ib3VuZHMiIGNsYXNzbmFtZT0iQXNzZXRBcGlUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9hc3NldF9hcGkucHkiIHRpbWU9IjAuMTI4IiAvPjx0ZXN0Y2FzZSBuYW1lPSJ0ZXN0X3NuYXBzaG90X3VwbG9hZCIgY2xhc3NuYW1lPSJBc3NldEFwaVRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weSIgdGltZT0iMC4xNiI+PGVycm9yIG1lc3NhZ2U9IkNvbm5lY3Rpb24gcmVzZXQgd2hpbGUgc2VuZGluZyB0ZXN0IGZpeHR1cmUuIj5Bc3NlcnRpb24gYXQgdGVzdHMvdGVzdF9hc3NldF9hcGkucHk6NDI8L2Vycm9yPjwvdGVzdGNhc2U+PHRlc3RjYXNlIG5hbWU9InRlc3RfcHJvdmlkZXJfcXVvdGEiIGNsYXNzbmFtZT0iQXNzZXRBcGlUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9hc3NldF9hcGkucHkiIHRpbWU9IjAuMjI0Ij48c2tpcHBlZCBtZXNzYWdlPSJQcm92aWRlciBmaXh0dXJlIHVuYXZhaWxhYmxlOyBubyBwYXNzIHJlc3VsdCByZWNvcmRlZC4iPkFzc2VydGlvbiBhdCB0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weTo0Mjwvc2tpcHBlZD48L3Rlc3RjYXNlPjx0ZXN0Y2FzZSBuYW1lPSJ0ZXN0X3BhcnNlX3RpbWVzdGFtcCIgY2xhc3NuYW1lPSJBc3NldEFwaVRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weSIgdGltZT0iMC4yNTYiPjxlcnJvciBtZXNzYWdlPSJWYWx1ZUVycm9yOiBpbnZhbGlkIHRpbWVzdGFtcCBpbiBmaXh0dXJlLiI+QXNzZXJ0aW9uIGF0IHRlc3RzL3Rlc3RfYXNzZXRfYXBpLnB5OjQyPC9lcnJvcj48L3Rlc3RjYXNlPjx0ZXN0Y2FzZSBuYW1lPSJ0ZXN0X3VwZGF0ZV9hc3NldCIgY2xhc3NuYW1lPSJBc3NldEFwaVRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X2Fzc2V0X2FwaS5weSIgdGltZT0iMC4yODgiIC8+PHRlc3RjYXNlIG5hbWU9InRlc3RfbGlzdF9hc3NldHMiIGNsYXNzbmFtZT0iQXNzZXRBcGlUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9hc3NldF9hcGkucHkiIHRpbWU9IjAuMzIiIC8+PHRlc3RjYXNlIG5hbWU9InRlc3RfZGVsZXRlX2Fzc2V0IiBjbGFzc25hbWU9IkFzc2V0QXBpVGVzdHMiIGZpbGU9InRlc3RzL3Rlc3RfYXNzZXRfYXBpLnB5IiB0aW1lPSIwLjM1MiIgLz48dGVzdGNhc2UgbmFtZT0idGVzdF9kZWNpbWFsX3RvdGFsIiBjbGFzc25hbWU9IkFzc2V0QXBpVGVzdHMiIGZpbGU9InRlc3RzL3Rlc3RfYXNzZXRfYXBpLnB5IiB0aW1lPSIwLjM4NCIgLz48dGVzdGNhc2UgbmFtZT0idGVzdF91bmljb2RlX2xhYmVsIiBjbGFzc25hbWU9IkFzc2V0QXBpVGVzdHMiIGZpbGU9InRlc3RzL3Rlc3RfYXNzZXRfYXBpLnB5IiB0aW1lPSIwLjQxNiIgLz48dGVzdGNhc2UgbmFtZT0idGVzdF9xdWVyeV9wYWdpbmF0aW9uIiBjbGFzc25hbWU9IkFzc2V0QXBpVGVzdHMiIGZpbGU9InRlc3RzL3Rlc3RfYXNzZXRfYXBpLnB5IiB0aW1lPSIwLjI0IiAvPjwvdGVzdHN1aXRlPjwvdGVzdHN1aXRlPjwvdGVzdHN1aXRlcz4="
    },
    {
      "build": "build-105",
      "job": "api-linux",
      "attempt": 2,
      "name": "build-105-api-linux-2.xml",
      "sha256": "3d39e1684e0289cf4a193dfda9dd3fafd345d1442d76e3a886923ef35e73ec5a",
      "content": "PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0ndXRmLTgnPz4KPHRlc3RzdWl0ZXM+PHRlc3RzdWl0ZSBuYW1lPSJzZXJ2aWNlIj48dGVzdHN1aXRlIG5hbWU9ImNvbnRyYWN0Ij48dGVzdGNhc2UgbmFtZT0idGVzdF9zbmFwc2hvdF91cGxvYWQiIGNsYXNzbmFtZT0iQXNzZXRBcGlUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9hc3NldF9hcGkucHkiIHRpbWU9IjAuMTg5IiAvPjwvdGVzdHN1aXRlPjwvdGVzdHN1aXRlPjwvdGVzdHN1aXRlcz4="
    },
    {
      "build": "build-105",
      "job": "unit-linux",
      "attempt": 1,
      "name": "build-105-unit-linux-1.xml",
      "sha256": "fe5a88e98dc48de5e22e8d81210aa7dc7f394b05c5d2d95b645285eee70ed9d4",
      "content": "PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0ndXRmLTgnPz4KPHRlc3RzdWl0ZXM+PHRlc3RzdWl0ZSBuYW1lPSJzZXJ2aWNlIj48dGVzdHN1aXRlIG5hbWU9ImNvbnRyYWN0Ij48dGVzdGNhc2UgbmFtZT0idGVzdF9ub3JtYWxpemVfa2V5IiBjbGFzc25hbWU9IlNlcmlhbGl6ZXJUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9zZXJpYWxpemVycy5weSIgdGltZT0iMC4wNjQiIC8+PHRlc3RjYXNlIG5hbWU9InRlc3RfcGFyc2VfcXVhbnRpdHkiIGNsYXNzbmFtZT0iU2VyaWFsaXplclRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X3NlcmlhbGl6ZXJzLnB5IiB0aW1lPSIwLjA5NiIgLz48dGVzdGNhc2UgbmFtZT0idGVzdF9yb3VuZF9kZWNpbWFsIiBjbGFzc25hbWU9IlNlcmlhbGl6ZXJUZXN0cyIgZmlsZT0idGVzdHMvdGVzdF9zZXJpYWxpemVycy5weSIgdGltZT0iMC4xMjgiIC8+PHRlc3RjYXNlIG5hbWU9InRlc3Rfc29ydF92ZXJzaW9ucyIgY2xhc3NuYW1lPSJTZXJpYWxpemVyVGVzdHMiIGZpbGU9InRlc3RzL3Rlc3Rfc2VyaWFsaXplcnMucHkiIHRpbWU9IjAuMTYiIC8+PHRlc3RjYXNlIG5hbWU9InRlc3RfZGVjb2RlX2hlYWRlciIgY2xhc3NuYW1lPSJTZXJpYWxpemVyVGVzdHMiIGZpbGU9InRlc3RzL3Rlc3Rfc2VyaWFsaXplcnMucHkiIHRpbWU9IjAuMTkyIiAvPjx0ZXN0Y2FzZSBuYW1lPSJ0ZXN0X2VuY29kZV9jdXJzb3IiIGNsYXNzbmFtZT0iU2VyaWFsaXplclRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X3NlcmlhbGl6ZXJzLnB5IiB0aW1lPSIwLjIyNCIgLz48dGVzdGNhc2UgbmFtZT0idGVzdF9lc2NhcGVfZmlsZW5hbWUiIGNsYXNzbmFtZT0iU2VyaWFsaXplclRlc3RzIiBmaWxlPSJ0ZXN0cy90ZXN0X3NlcmlhbGl6ZXJzLnB5IiB0aW1lPSIwLjI1NiIgLz48dGVzdGNhc2UgbmFtZT0idGVzdF9jYW5vbmljYWxfanNvbiIgY2xhc3NuYW1lPSJTZXJpYWxpemVyVGVzdHMiIGZpbGU9InRlc3RzL3Rlc3Rfc2VyaWFsaXplcnMucHkiIHRpbWU9IjAuMjg4IiAvPjwvdGVzdHN1aXRlPjwvdGVzdHN1aXRlPjwvdGVzdHN1aXRlcz4="
    }
  ],
  "policy": "One repository/comparison stream per database. Explicit sequence defines build order. Full snapshots replace job membership; partial retries overlay observed cases. Absence is not a pass. Retry pass is a candidate for investigation, not a causal diagnosis."
}
