{
  "baseSha": "95cb068c10a6cf0b33eed0a0cab3b298763fe852",
  "headSha": "ba3c446d2d9d9cd3ba8b75beb9e624da06043cab",
  "environment": "Native iOS, pooled iPhone 18 Pro, light theme, 402x874 viewport; real isolated server with fresh replay-seeded synthetic project and thread.",
  "recording": "Actual native screenshots with original capture intervals preserved, not continuous video. A 40px elapsed-time footer is added below the captured viewport.",
  "sides": {
    "base": {
      "side": "base",
      "probeSocketOpenedMs": 3027,
      "probeFrameMs": 3027,
      "probeOpened": true,
      "compact-after-startup-deadlineDynamic": true,
      "full-after-startup-deadlineDynamic": true,
      "reconnectVisible": false,
      "fault-removed-no-reconnectDynamic": true,
      "captureLockHoldMs": 3001,
      "captureCadenceMedianMs": 1705,
      "captureCount": 60,
      "recordedElapsedMs": 113972,
      "events": [
        {
          "event": "viewer-session-attached",
          "maxWidth": 364,
          "elapsedMs": -3
        },
        {
          "event": "screencast-suppressed",
          "maxWidth": 364,
          "elapsedMs": -1
        },
        {
          "event": "viewer-jpeg-unanswered",
          "maxWidth": 364,
          "elapsedMs": 0
        },
        {
          "event": "viewer-session-attached",
          "maxWidth": 777,
          "elapsedMs": 48
        },
        {
          "event": "screencast-suppressed",
          "maxWidth": 777,
          "elapsedMs": 49
        },
        {
          "event": "capture-sent",
          "maxWidth": 777,
          "elapsedMs": 3001
        },
        {
          "event": "capture-completed",
          "maxWidth": 777,
          "elapsedMs": 3060
        },
        {
          "event": "viewer-session-attached",
          "maxWidth": 804,
          "elapsedMs": 43316
        },
        {
          "event": "screencast-suppressed",
          "maxWidth": 804,
          "elapsedMs": 43317
        },
        {
          "event": "viewer-jpeg-unanswered",
          "maxWidth": 804,
          "elapsedMs": 43317
        }
      ]
    },
    "head": {
      "side": "head",
      "probeSocketOpenedMs": 20,
      "probeFrameMs": 2022,
      "probeOpened": true,
      "reconnectVisible": true,
      "captureLockHoldMs": 2001,
      "captureCadenceMedianMs": 1669.5,
      "captureCount": 39,
      "recordedElapsedMs": 112978,
      "events": [
        {
          "event": "viewer-session-attached",
          "maxWidth": 364,
          "elapsedMs": -9
        },
        {
          "event": "screencast-suppressed",
          "maxWidth": 364,
          "elapsedMs": -3
        },
        {
          "event": "viewer-jpeg-unanswered",
          "maxWidth": 364,
          "elapsedMs": 0
        },
        {
          "event": "viewer-session-attached",
          "maxWidth": 777,
          "elapsedMs": 34
        },
        {
          "event": "screencast-suppressed",
          "maxWidth": 777,
          "elapsedMs": 36
        },
        {
          "event": "capture-sent",
          "maxWidth": 777,
          "elapsedMs": 2001
        },
        {
          "event": "capture-completed",
          "maxWidth": 777,
          "elapsedMs": 2041
        },
        {
          "event": "viewer-session-attached",
          "maxWidth": 804,
          "elapsedMs": 27401
        },
        {
          "event": "screencast-suppressed",
          "maxWidth": 804,
          "elapsedMs": 27402
        },
        {
          "event": "viewer-jpeg-unanswered",
          "maxWidth": 804,
          "elapsedMs": 27403
        },
        {
          "event": "viewer-session-attached",
          "maxWidth": 804,
          "elapsedMs": 53112
        },
        {
          "event": "capture-sent",
          "maxWidth": 804,
          "elapsedMs": 53114
        },
        {
          "event": "capture-completed",
          "maxWidth": 804,
          "elapsedMs": 53130
        },
        {
          "event": "capture-sent",
          "maxWidth": 804,
          "elapsedMs": 53708
        },
        {
          "event": "capture-completed",
          "maxWidth": 804,
          "elapsedMs": 53726
        },
        {
          "event": "capture-sent",
          "maxWidth": 804,
          "elapsedMs": 53931
        },
        {
          "event": "capture-completed",
          "maxWidth": 804,
          "elapsedMs": 53943
        },
        {
          "event": "capture-sent",
          "maxWidth": 804,
          "elapsedMs": 85876
        },
        {
          "event": "capture-completed",
          "maxWidth": 804,
          "elapsedMs": 85890
        },
        {
          "event": "capture-sent",
          "maxWidth": 804,
          "elapsedMs": 86094
        },
        {
          "event": "capture-completed",
          "maxWidth": 804,
          "elapsedMs": 86106
        },
        {
          "event": "capture-sent",
          "maxWidth": 804,
          "elapsedMs": 86311
        },
        {
          "event": "capture-completed",
          "maxWidth": 804,
          "elapsedMs": 86324
        }
      ]
    }
  },
  "observations": {
    "base": "Compact and full preview stay connecting beyond 15 seconds; no Reconnect action; still connecting after removing the fault.",
    "head": "Full preview shows startup error and Reconnect; after removing fault, Reconnect displays page; native tap changes button to Interaction received."
  },
  "limitation": "The specified base already has a general 3000ms screenshot timeout: an indefinite server capture-lock or WebSocket-upgrade stall was not reproduced. The diagnostic viewer socket and frame returned at about 3 seconds on base; head socket opened before its still and the lock released at about 2 seconds."
}