{
  "product": "SDKCare",
  "version": "0.1.0",
  "generated_at_utc": "2026-09-09T03:24:44.353560+00:00",
  "data_class": "original fictional loopback fixture",
  "customer_success_claim": false,
  "cash_spent_usd": 0,
  "python": "3.12.14",
  "source_sha256": {
    "sdkcare/__init__.py": "a0eda988ce6fbaf58da90ca30ceedc6dbc7b8c222c5cb3a8a2d25b25118f1d08",
    "sdkcare/__main__.py": "89efb9837da085a99039407c9a7f597a7bc6be7ff993184e877ebece0c346e32",
    "sdkcare/client.py": "446e21ed615b36dea6719fcc98b8e3cc2b54f6a1f3e1a635149ecf172fddc5bb",
    "sdkcare/customer_runner.py": "eafa0b0ee1297af2162a93bb40454fdfad67773ba97affc6d8657e470544db24",
    "sdkcare/sandbox.py": "c9483f0f98eec7dec55539133e03675b9146f649a2d0f0785903bcfd9b808e10",
    "sdkcare/tutorials.py": "41671fe6bebcfedd398fd33c86d781d5028e8555bc75173655ba242e5dbb1637",
    "tests/test_customer_runner.py": "519acff68ef5f9bb54151f15d25bc8c61cdcabbbe982603b33512d73cb179815",
    "tests/test_sdkcare.py": "35d8225ab2eeee16340bb47b3189f5df1b91e3018da93ec7585000d43792503d"
  },
  "matrix": [
    {
      "tutorial": "01",
      "title": "First authenticated response",
      "example": "baseline",
      "api_fixture": "v1",
      "status": "pass",
      "expected_failure": false,
      "accepted": true,
      "detail": "Assertions passed.",
      "events": [
        {
          "method": "GET",
          "route": "/v1/whoami",
          "status": 200,
          "attempt": 1
        }
      ]
    },
    {
      "tutorial": "02",
      "title": "Pagination across a version change",
      "example": "baseline",
      "api_fixture": "v1",
      "status": "pass",
      "expected_failure": false,
      "accepted": true,
      "detail": "Assertions passed.",
      "events": [
        {
          "method": "GET",
          "route": "/v1/items",
          "status": 200,
          "attempt": 1
        },
        {
          "method": "GET",
          "route": "/v1/items",
          "status": 200,
          "attempt": 1
        }
      ]
    },
    {
      "tutorial": "03",
      "title": "Create, verify and clean a dummy fixture",
      "example": "baseline",
      "api_fixture": "v1",
      "status": "pass",
      "expected_failure": false,
      "accepted": true,
      "detail": "Assertions passed.",
      "events": [
        {
          "method": "POST",
          "route": "/v1/items",
          "status": 201,
          "attempt": 1
        },
        {
          "method": "GET",
          "route": "/v1/items/test-1",
          "status": 200,
          "attempt": 1
        },
        {
          "method": "DELETE",
          "route": "/v1/items/test-1",
          "status": 200,
          "attempt": 1
        }
      ]
    },
    {
      "tutorial": "04",
      "title": "Expired token: stop and explicitly replace",
      "example": "baseline",
      "api_fixture": "v1",
      "status": "pass",
      "expected_failure": false,
      "accepted": true,
      "detail": "Assertions passed.",
      "events": [
        {
          "method": "GET",
          "route": "/v1/whoami",
          "status": 401,
          "attempt": 1
        },
        {
          "method": "GET",
          "route": "/v1/whoami",
          "status": 200,
          "attempt": 1
        }
      ]
    },
    {
      "tutorial": "05",
      "title": "Insufficient scope: stop and request owner approval",
      "example": "baseline",
      "api_fixture": "v1",
      "status": "pass",
      "expected_failure": false,
      "accepted": true,
      "detail": "Assertions passed.",
      "events": [
        {
          "method": "GET",
          "route": "/v1/admin-summary",
          "status": 403,
          "attempt": 1
        },
        {
          "method": "GET",
          "route": "/v1/admin-summary",
          "status": 200,
          "attempt": 1
        }
      ]
    },
    {
      "tutorial": "01",
      "title": "First authenticated response",
      "example": "baseline",
      "api_fixture": "v2",
      "status": "pass",
      "expected_failure": false,
      "accepted": true,
      "detail": "Assertions passed.",
      "events": [
        {
          "method": "GET",
          "route": "/v1/whoami",
          "status": 200,
          "attempt": 1
        }
      ]
    },
    {
      "tutorial": "02",
      "title": "Pagination across a version change",
      "example": "baseline",
      "api_fixture": "v2",
      "status": "expected_failure",
      "expected_failure": true,
      "accepted": true,
      "detail": "KeyError: old items field does not match fictional v2 data field.",
      "events": []
    },
    {
      "tutorial": "03",
      "title": "Create, verify and clean a dummy fixture",
      "example": "baseline",
      "api_fixture": "v2",
      "status": "pass",
      "expected_failure": false,
      "accepted": true,
      "detail": "Assertions passed.",
      "events": [
        {
          "method": "POST",
          "route": "/v1/items",
          "status": 201,
          "attempt": 1
        },
        {
          "method": "GET",
          "route": "/v1/items/test-1",
          "status": 200,
          "attempt": 1
        },
        {
          "method": "DELETE",
          "route": "/v1/items/test-1",
          "status": 200,
          "attempt": 1
        }
      ]
    },
    {
      "tutorial": "04",
      "title": "Expired token: stop and explicitly replace",
      "example": "baseline",
      "api_fixture": "v2",
      "status": "pass",
      "expected_failure": false,
      "accepted": true,
      "detail": "Assertions passed.",
      "events": [
        {
          "method": "GET",
          "route": "/v1/whoami",
          "status": 401,
          "attempt": 1
        },
        {
          "method": "GET",
          "route": "/v1/whoami",
          "status": 200,
          "attempt": 1
        }
      ]
    },
    {
      "tutorial": "05",
      "title": "Insufficient scope: stop and request owner approval",
      "example": "baseline",
      "api_fixture": "v2",
      "status": "pass",
      "expected_failure": false,
      "accepted": true,
      "detail": "Assertions passed.",
      "events": [
        {
          "method": "GET",
          "route": "/v1/admin-summary",
          "status": 403,
          "attempt": 1
        },
        {
          "method": "GET",
          "route": "/v1/admin-summary",
          "status": 200,
          "attempt": 1
        }
      ]
    },
    {
      "tutorial": "01",
      "title": "First authenticated response",
      "example": "maintained",
      "api_fixture": "v1",
      "status": "pass",
      "expected_failure": false,
      "accepted": true,
      "detail": "Assertions passed.",
      "events": [
        {
          "method": "GET",
          "route": "/v1/whoami",
          "status": 200,
          "attempt": 1
        }
      ]
    },
    {
      "tutorial": "02",
      "title": "Pagination across a version change",
      "example": "maintained",
      "api_fixture": "v1",
      "status": "pass",
      "expected_failure": false,
      "accepted": true,
      "detail": "Assertions passed.",
      "events": [
        {
          "method": "GET",
          "route": "/v1/items",
          "status": 200,
          "attempt": 1
        },
        {
          "method": "GET",
          "route": "/v1/items",
          "status": 200,
          "attempt": 1
        }
      ]
    },
    {
      "tutorial": "03",
      "title": "Create, verify and clean a dummy fixture",
      "example": "maintained",
      "api_fixture": "v1",
      "status": "pass",
      "expected_failure": false,
      "accepted": true,
      "detail": "Assertions passed.",
      "events": [
        {
          "method": "POST",
          "route": "/v1/items",
          "status": 201,
          "attempt": 1
        },
        {
          "method": "GET",
          "route": "/v1/items/test-1",
          "status": 200,
          "attempt": 1
        },
        {
          "method": "DELETE",
          "route": "/v1/items/test-1",
          "status": 200,
          "attempt": 1
        }
      ]
    },
    {
      "tutorial": "04",
      "title": "Expired token: stop and explicitly replace",
      "example": "maintained",
      "api_fixture": "v1",
      "status": "pass",
      "expected_failure": false,
      "accepted": true,
      "detail": "Assertions passed.",
      "events": [
        {
          "method": "GET",
          "route": "/v1/whoami",
          "status": 401,
          "attempt": 1
        },
        {
          "method": "GET",
          "route": "/v1/whoami",
          "status": 200,
          "attempt": 1
        }
      ]
    },
    {
      "tutorial": "05",
      "title": "Insufficient scope: stop and request owner approval",
      "example": "maintained",
      "api_fixture": "v1",
      "status": "pass",
      "expected_failure": false,
      "accepted": true,
      "detail": "Assertions passed.",
      "events": [
        {
          "method": "GET",
          "route": "/v1/admin-summary",
          "status": 403,
          "attempt": 1
        },
        {
          "method": "GET",
          "route": "/v1/admin-summary",
          "status": 200,
          "attempt": 1
        }
      ]
    },
    {
      "tutorial": "01",
      "title": "First authenticated response",
      "example": "maintained",
      "api_fixture": "v2",
      "status": "pass",
      "expected_failure": false,
      "accepted": true,
      "detail": "Assertions passed.",
      "events": [
        {
          "method": "GET",
          "route": "/v1/whoami",
          "status": 200,
          "attempt": 1
        }
      ]
    },
    {
      "tutorial": "02",
      "title": "Pagination across a version change",
      "example": "maintained",
      "api_fixture": "v2",
      "status": "pass",
      "expected_failure": false,
      "accepted": true,
      "detail": "Assertions passed.",
      "events": [
        {
          "method": "GET",
          "route": "/v1/items",
          "status": 200,
          "attempt": 1
        },
        {
          "method": "GET",
          "route": "/v1/items",
          "status": 200,
          "attempt": 1
        }
      ]
    },
    {
      "tutorial": "03",
      "title": "Create, verify and clean a dummy fixture",
      "example": "maintained",
      "api_fixture": "v2",
      "status": "pass",
      "expected_failure": false,
      "accepted": true,
      "detail": "Assertions passed.",
      "events": [
        {
          "method": "POST",
          "route": "/v1/items",
          "status": 201,
          "attempt": 1
        },
        {
          "method": "GET",
          "route": "/v1/items/test-1",
          "status": 200,
          "attempt": 1
        },
        {
          "method": "DELETE",
          "route": "/v1/items/test-1",
          "status": 200,
          "attempt": 1
        }
      ]
    },
    {
      "tutorial": "04",
      "title": "Expired token: stop and explicitly replace",
      "example": "maintained",
      "api_fixture": "v2",
      "status": "pass",
      "expected_failure": false,
      "accepted": true,
      "detail": "Assertions passed.",
      "events": [
        {
          "method": "GET",
          "route": "/v1/whoami",
          "status": 401,
          "attempt": 1
        },
        {
          "method": "GET",
          "route": "/v1/whoami",
          "status": 200,
          "attempt": 1
        }
      ]
    },
    {
      "tutorial": "05",
      "title": "Insufficient scope: stop and request owner approval",
      "example": "maintained",
      "api_fixture": "v2",
      "status": "pass",
      "expected_failure": false,
      "accepted": true,
      "detail": "Assertions passed.",
      "events": [
        {
          "method": "GET",
          "route": "/v1/admin-summary",
          "status": 403,
          "attempt": 1
        },
        {
          "method": "GET",
          "route": "/v1/admin-summary",
          "status": 200,
          "attempt": 1
        }
      ]
    }
  ],
  "regression": {
    "tests_run": 34,
    "failures": 0,
    "errors": 0
  },
  "accepted": true,
  "limits": [
    "No live customer API tested",
    "No independent expert review purchased",
    "No production or external endpoint support",
    "No sales, customer acceptance or retention evidence"
  ]
}