{
  "corpusId": "html-presentation-failure-recovery-2026-08-24",
  "status": "reproducible-local-diagnostic-corpus",
  "recordedAt": "2026-08-24T21:49:45+08:00",
  "environment": {
    "browser": "Google Chrome 151.0.7922.170",
    "server": "Python http.server on 127.0.0.1:3142",
    "productValidators": ["scanHtmlUpload", "extractDeckZip"]
  },
  "cases": [
    {
      "id": "missing-asset",
      "failing": {
        "fixture": "missing-asset/failing-index.html.txt",
        "sha256": "cdd9f2559f4b6ea15c29e651dbf0a0fa45069021974f325652a8d06e8fbf4684",
        "requestedPath": "/missing/failing/assets/chart.svg",
        "httpStatus": 404,
        "resultText": "asset-error"
      },
      "fixed": {
        "fixture": "missing-asset/fixed-index.html.txt",
        "sha256": "f8ca73714e23f3781b522ccab7cef43921fe68e7223c912f88dc09e49038a20e",
        "asset": "missing-asset/fixed-chart.svg.txt",
        "assetSha256": "e3f340a3c6092d2981a10447a8a79afe44f225a0ab86ba06a3b15a622ea404a7",
        "requestedPath": "/missing/fixed/assets/chart.svg",
        "httpStatus": 200,
        "resultText": "asset-loaded"
      }
    },
    {
      "id": "wrong-base-path",
      "failing": {
        "fixture": "wrong-base-path/failing-index.html.txt",
        "sha256": "fa89a8d0b4f54d3d7e3b1b2264f7f6adfbc5344de775e13970ce4e1b4915e8b3",
        "requestedPath": "/assets/chart.svg",
        "httpStatus": 404,
        "resultText": "base-path-error"
      },
      "fixed": {
        "fixture": "wrong-base-path/fixed-index.html.txt",
        "sha256": "4a1b2b685d6e4a164698972e38cb494acb2f8cd03b8423bb1e72d22c2a127bc1",
        "asset": "wrong-base-path/chart.svg.txt",
        "assetSha256": "a25c998ff83d220ded35378db318c76f5b68fe04eaf682f243af4e9635ff143c",
        "requestedPath": "/base/fixed/deck/assets/chart.svg",
        "httpStatus": 200,
        "resultText": "base-path-loaded"
      }
    },
    {
      "id": "csp-inline-script",
      "failing": {
        "fixture": "csp-inline-script/failing-index.html.txt",
        "sha256": "d304dbc64e1d1e70f8a74265acf2a046b98b7da6d7cb9b530c6c4a75bc4c419e",
        "policy": "default-src 'self'; script-src 'self'",
        "resultText": "script-blocked"
      },
      "fixed": {
        "fixture": "csp-inline-script/fixed-index.html.txt",
        "sha256": "59ba6c2c9187592a84d8b7427936877d665bf3858424787c588aae0e91606275",
        "runtime": "csp-inline-script/fixed-runtime.js.txt",
        "runtimeSha256": "de1dfcae602db0f10ef992a2b2b7b1e314c312907d4642f66720d5c39cd799c0",
        "runtimeHttpStatus": 200,
        "policy": "default-src 'self'; script-src 'self'",
        "resultText": "script-ran"
      }
    },
    {
      "id": "remote-runtime",
      "failing": {
        "fixture": "remote-runtime/failing-index.html.txt",
        "sha256": "b339e58a80075a6296af16db2ba5478a105009d5df2726746bb34cb586e40584",
        "validatorResult": {
          "ok": false,
          "code": "MALICIOUS_CONTENT",
          "details": "blocked keyword: <script src="
        }
      },
      "fixed": {
        "fixture": "remote-runtime/fixed-index.html.txt",
        "sha256": "24997564fe884252abf32e0609a66363c36f2b1d32992fdf9b1fb6f4d7cbad80",
        "validatorResult": {
          "ok": true,
          "flags": []
        }
      }
    },
    {
      "id": "zip-root",
      "failing": {
        "fixture": "zip-root/failing-tree.txt",
        "sha256": "6f40b80db447959bbb03d17bdee5580dfce2e154af2dd7bbe9a7ec26fb9b4076",
        "entries": ["dist/index.html", "dist/runtime.js"],
        "validatorError": "archive must contain index.html at its root"
      },
      "fixed": {
        "fixture": "zip-root/fixed-tree.txt",
        "sha256": "a7c818440c7cf5df40c21d50c09a2130bff030ca953e4e76eb8a32fb22a330ba",
        "entries": ["index.html", "runtime.js"],
        "extractedPaths": ["index.html", "runtime.js"]
      }
    }
  ],
  "boundaries": {
    "publicDeploymentCreated": false,
    "productionBusinessEventsCreated": false,
    "thirdPartyRequestsCreated": false,
    "performanceMeasured": false,
    "securityCertification": false,
    "frameworkCompatibilityClaim": false
  },
  "limitations": [
    "Browser observations cover these frozen fixtures in one Chrome version, not every deck or browser.",
    "The CSP fixture demonstrates one policy mismatch and a same-origin file repair; it is not a complete CSP design.",
    "The upload-policy observations reflect the current Slidesfly validator contract and may differ on another host.",
    "A repaired artifact still requires full navigation, media, accessibility, policy, and recipient-view verification."
  ]
}
