{
  "startAt": "2026-09-08T11:37:36.744Z",
  "cacheDisabled": true,
  "viewport": {
    "width": 1280,
    "height": 900,
    "deviceScaleFactor": 1,
    "isMobile": false,
    "hasTouch": false
  },
  "initial": {
    "rows": 10,
    "nonblank": true,
    "kind": "mixed"
  },
  "requestedKind": "boolean",
  "confirmations": [
    {
      "at": "2026-09-08T11:38:43.899Z",
      "type": "confirm",
      "message": "Changing kind replaces every question with a new matching pool selection. Unsaved question text, answer choices, additions and ordering will be lost. Keep the title and print settings and replace the questions?"
    }
  ],
  "editedAt": "2026-09-08T11:38:42.022Z",
  "settledAt": "2026-09-08T11:38:45.794Z",
  "after": {
    "draftIdentityChanged": true,
    "rows": 10,
    "nonblankRows": 10,
    "matchingRows": 10,
    "staleEditAbsent": true,
    "allTwoChoices": true,
    "kind": "boolean",
    "matchingMethod": "Fresh default-world DOM event handler Closure items[].type equality, individually read after accepted POST; independent of toolbar kind and choice count.",
    "rowTypes": [
      "boolean",
      "boolean",
      "boolean",
      "boolean",
      "boolean",
      "boolean",
      "boolean",
      "boolean",
      "boolean",
      "boolean"
    ]
  },
  "network": [
    {
      "status": 200,
      "method": "POST"
    }
  ],
  "dom": {
    "rows": 10,
    "nonblankStems": 10,
    "choiceCounts": [
      2,
      2,
      2,
      2,
      2,
      2,
      2,
      2,
      2,
      2
    ],
    "staleEditAbsent": true,
    "kind": "boolean"
  },
  "capturedAt": "2026-09-08T11:39:44.071Z",
  "recordedPass": true,
  "matchingRowsDerivation": "Fresh default-world DOM event handler Closure items[].type values were read individually after the accepted POST: all ten were boolean, independently of the toolbar kind and choice count.",
  "confirmationHandlingConfigured": "accept",
  "confirmationAccepted": null,
  "confirmationAcceptedAt": null,
  "confirmationBoundary": "One confirm dialog was observed. Separate setup metadata records automatic acceptance, not a per-dialog acceptance result or acceptance timestamp.",
  "measurementLimitations": [
    "Puppeteer response.json was unavailable. Reusing a remote Closure object returned stale variable snapshots; the final source receipt uses freshly fetched runtime scopes plus current DOM, not the intermediate stale sample. No runtime capability values are included."
  ],
  "releaseEligible": false,
  "humanAccepted": false,
  "productionPublished": false,
  "sanitizationBoundary": "Scoped recorded runtime PASS: fresh Kind replacement contains ten individually observed boolean item types and the stale authored edit is absent. This does not establish behavior beyond that replacement scenario. Type classification uses freshly fetched event-handler Closure items[].type values, not toolbar kind or choice cardinality. Confirmation was observed and setup configured acceptance, but no separate acceptance result or timestamp is recorded. Fresh runtime scopes plus current DOM supersede the intermediate stale Closure snapshot."
}
