{
  "generated_at": "2026-09-23T23:02:18.806785+00:00",
  "scope": "Local source verification, real workstation Chromium through CDP; hosted smoke verification is recorded separately after deployment.",
  "passed": true,
  "model_tests": 2,
  "browser_checks": 174,
  "console_page_errors": [],
  "commands": [
    "node --test tests/model.test.mjs",
    "node tests/browser.mjs"
  ],
  "checks": [
    "integrated launcher",
    "desktop/palace: source detail",
    "desktop/palace: search selects exact source",
    "desktop/palace: connection traversed",
    "desktop/palace: local action saved",
    "desktop/palace: actual stored record",
    "desktop/palace: navigation moves camera",
    "desktop/palace: WebGL real geometry",
    "desktop/palace: bounded draws",
    "desktop/palace: no horizontal overflow",
    "desktop/palace: selectable spatial labels",
    "desktop/palace: labels stay inside world",
    "desktop/palace: demand rendering keeps up with navigation",
    "desktop/stars: source detail",
    "desktop/stars: search selects exact source",
    "desktop/stars: connection traversed",
    "desktop/stars: local action saved",
    "desktop/stars: actual stored record",
    "desktop/stars: navigation moves camera",
    "desktop/stars: WebGL real geometry",
    "desktop/stars: bounded draws",
    "desktop/stars: no horizontal overflow",
    "desktop/stars: selectable spatial labels",
    "desktop/stars: labels stay inside world",
    "desktop/stars: demand rendering keeps up with navigation",
    "desktop/river: source detail",
    "desktop/river: search selects exact source",
    "desktop/river: connection traversed",
    "desktop/river: local action saved",
    "desktop/river: actual stored record",
    "desktop/river: navigation moves camera",
    "desktop/river: WebGL real geometry",
    "desktop/river: bounded draws",
    "desktop/river: no horizontal overflow",
    "desktop/river: selectable spatial labels",
    "desktop/river: labels stay inside world",
    "desktop/river: demand rendering keeps up with navigation",
    "desktop/garden: source detail",
    "desktop/garden: search selects exact source",
    "desktop/garden: connection traversed",
    "desktop/garden: local action saved",
    "desktop/garden: actual stored record",
    "desktop/garden: navigation moves camera",
    "desktop/garden: WebGL real geometry",
    "desktop/garden: bounded draws",
    "desktop/garden: no horizontal overflow",
    "desktop/garden: selectable spatial labels",
    "desktop/garden: labels stay inside world",
    "desktop/garden: demand rendering keeps up with navigation",
    "desktop/lab: source detail",
    "desktop/lab: search selects exact source",
    "desktop/lab: connection traversed",
    "desktop/lab: local action saved",
    "desktop/lab: actual stored record",
    "desktop/lab: navigation moves camera",
    "desktop/lab: WebGL real geometry",
    "desktop/lab: bounded draws",
    "desktop/lab: no horizontal overflow",
    "desktop/lab: selectable spatial labels",
    "desktop/lab: labels stay inside world",
    "desktop/lab: demand rendering keeps up with navigation",
    "mobile/palace: source detail",
    "mobile/palace: search selects exact source",
    "mobile/palace: connection traversed",
    "mobile/palace: local action saved",
    "mobile/palace: actual stored record",
    "mobile/palace: navigation moves camera",
    "mobile/palace: touch drag moves camera",
    "mobile/palace: WebGL real geometry",
    "mobile/palace: bounded draws",
    "mobile/palace: no horizontal overflow",
    "mobile/palace: selectable spatial labels",
    "mobile/palace: labels stay inside world",
    "mobile/palace: demand rendering keeps up with navigation",
    "mobile/stars: source detail",
    "mobile/stars: search selects exact source",
    "mobile/stars: connection traversed",
    "mobile/stars: local action saved",
    "mobile/stars: actual stored record",
    "mobile/stars: navigation moves camera",
    "mobile/stars: touch drag moves camera",
    "mobile/stars: WebGL real geometry",
    "mobile/stars: bounded draws",
    "mobile/stars: no horizontal overflow",
    "mobile/stars: selectable spatial labels",
    "mobile/stars: labels stay inside world",
    "mobile/stars: demand rendering keeps up with navigation",
    "mobile/river: source detail",
    "mobile/river: search selects exact source",
    "mobile/river: connection traversed",
    "mobile/river: local action saved",
    "mobile/river: actual stored record",
    "mobile/river: navigation moves camera",
    "mobile/river: touch drag moves camera",
    "mobile/river: WebGL real geometry",
    "mobile/river: bounded draws",
    "mobile/river: no horizontal overflow",
    "mobile/river: selectable spatial labels",
    "mobile/river: labels stay inside world",
    "mobile/river: demand rendering keeps up with navigation",
    "mobile/garden: source detail",
    "mobile/garden: search selects exact source",
    "mobile/garden: connection traversed",
    "mobile/garden: local action saved",
    "mobile/garden: actual stored record",
    "mobile/garden: navigation moves camera",
    "mobile/garden: touch drag moves camera",
    "mobile/garden: WebGL real geometry",
    "mobile/garden: bounded draws",
    "mobile/garden: no horizontal overflow",
    "mobile/garden: selectable spatial labels",
    "mobile/garden: labels stay inside world",
    "mobile/garden: demand rendering keeps up with navigation",
    "mobile/lab: source detail",
    "mobile/lab: search selects exact source",
    "mobile/lab: connection traversed",
    "mobile/lab: local action saved",
    "mobile/lab: actual stored record",
    "mobile/lab: navigation moves camera",
    "mobile/lab: touch drag moves camera",
    "mobile/lab: WebGL real geometry",
    "mobile/lab: bounded draws",
    "mobile/lab: no horizontal overflow",
    "mobile/lab: selectable spatial labels",
    "mobile/lab: labels stay inside world",
    "mobile/lab: demand rendering keeps up with navigation",
    "transition palace\u2192palace",
    "transition palace\u2192stars",
    "transition palace\u2192river",
    "transition palace\u2192garden",
    "transition palace\u2192lab",
    "transition stars\u2192palace",
    "transition stars\u2192stars",
    "transition stars\u2192river",
    "transition stars\u2192garden",
    "transition stars\u2192lab",
    "transition river\u2192palace",
    "transition river\u2192stars",
    "transition river\u2192river",
    "transition river\u2192garden",
    "transition river\u2192lab",
    "transition garden\u2192palace",
    "transition garden\u2192stars",
    "transition garden\u2192river",
    "transition garden\u2192garden",
    "transition garden\u2192lab",
    "transition lab\u2192palace",
    "transition lab\u2192stars",
    "transition lab\u2192river",
    "transition lab\u2192garden",
    "transition lab\u2192lab",
    "reduced motion: no idle rendering",
    "reduced motion preference detected",
    "local work survives reload",
    "text fallback enumerates every source",
    "empty search explained",
    "download exports actual work",
    "invalid import rejected",
    "private pack loaded only into memory",
    "private exact source retained",
    "private/palace: sources and geometry",
    "private/stars: sources and geometry",
    "private/river: sources and geometry",
    "private/garden: sources and geometry",
    "private/lab: sources and geometry",
    "timeline scrubbing changes source",
    "private source body not persisted",
    "explicit no-WebGL fallback complete",
    "fallback action actually saves",
    "zero console/page errors",
    "context-loss extension available for fault injection",
    "real lost-context fallback keeps every source",
    "blocked localStorage explicitly says memory only",
    "zero errors including context loss"
  ],
  "scenes": [
    {
      "viewport": "desktop",
      "mode": "palace",
      "drawCalls": 62,
      "triangles": 612,
      "visibleLabels": 9,
      "navigation_frame_gaps": {
        "samples": 30,
        "median_ms": 16.6,
        "p95_ms": 17.9,
        "max_ms": 18
      },
      "cpu_submit": {
        "samples": 30,
        "median_ms": 4.5,
        "p95_ms": 5.9,
        "max_ms": 6.1
      },
      "rendered_navigation_frames": 36
    },
    {
      "viewport": "desktop",
      "mode": "stars",
      "drawCalls": 23,
      "triangles": 800,
      "visibleLabels": 5,
      "navigation_frame_gaps": {
        "samples": 30,
        "median_ms": 16.9,
        "p95_ms": 18.5,
        "max_ms": 18.7
      },
      "cpu_submit": {
        "samples": 30,
        "median_ms": 4.7,
        "p95_ms": 5.5,
        "max_ms": 5.6
      },
      "rendered_navigation_frames": 36
    },
    {
      "viewport": "desktop",
      "mode": "river",
      "drawCalls": 39,
      "triangles": 1532,
      "visibleLabels": 5,
      "navigation_frame_gaps": {
        "samples": 30,
        "median_ms": 16.8,
        "p95_ms": 18.6,
        "max_ms": 20
      },
      "cpu_submit": {
        "samples": 30,
        "median_ms": 5.5,
        "p95_ms": 6.3,
        "max_ms": 6.4
      },
      "rendered_navigation_frames": 36
    },
    {
      "viewport": "desktop",
      "mode": "garden",
      "drawCalls": 66,
      "triangles": 1832,
      "visibleLabels": 4,
      "navigation_frame_gaps": {
        "samples": 30,
        "median_ms": 17.1,
        "p95_ms": 18.2,
        "max_ms": 18.3
      },
      "cpu_submit": {
        "samples": 30,
        "median_ms": 5.3,
        "p95_ms": 6.3,
        "max_ms": 6.5
      },
      "rendered_navigation_frames": 36
    },
    {
      "viewport": "desktop",
      "mode": "lab",
      "drawCalls": 91,
      "triangles": 648,
      "visibleLabels": 6,
      "navigation_frame_gaps": {
        "samples": 30,
        "median_ms": 16.5,
        "p95_ms": 18.2,
        "max_ms": 18.5
      },
      "cpu_submit": {
        "samples": 30,
        "median_ms": 5.4,
        "p95_ms": 6.2,
        "max_ms": 6.3
      },
      "rendered_navigation_frames": 36
    },
    {
      "viewport": "mobile",
      "mode": "palace",
      "drawCalls": 62,
      "triangles": 612,
      "visibleLabels": 2,
      "navigation_frame_gaps": {
        "samples": 30,
        "median_ms": 16.8,
        "p95_ms": 17.8,
        "max_ms": 18.1
      },
      "cpu_submit": {
        "samples": 30,
        "median_ms": 6,
        "p95_ms": 6.9,
        "max_ms": 7.2
      },
      "rendered_navigation_frames": 36
    },
    {
      "viewport": "mobile",
      "mode": "stars",
      "drawCalls": 23,
      "triangles": 800,
      "visibleLabels": 2,
      "navigation_frame_gaps": {
        "samples": 30,
        "median_ms": 16.8,
        "p95_ms": 18.9,
        "max_ms": 20.6
      },
      "cpu_submit": {
        "samples": 30,
        "median_ms": 6,
        "p95_ms": 7,
        "max_ms": 7.1
      },
      "rendered_navigation_frames": 36
    },
    {
      "viewport": "mobile",
      "mode": "river",
      "drawCalls": 39,
      "triangles": 1532,
      "visibleLabels": 2,
      "navigation_frame_gaps": {
        "samples": 30,
        "median_ms": 16.7,
        "p95_ms": 18.3,
        "max_ms": 19.1
      },
      "cpu_submit": {
        "samples": 30,
        "median_ms": 5.7,
        "p95_ms": 6.4,
        "max_ms": 6.6
      },
      "rendered_navigation_frames": 36
    },
    {
      "viewport": "mobile",
      "mode": "garden",
      "drawCalls": 66,
      "triangles": 1832,
      "visibleLabels": 1,
      "navigation_frame_gaps": {
        "samples": 30,
        "median_ms": 16.7,
        "p95_ms": 18.3,
        "max_ms": 18.4
      },
      "cpu_submit": {
        "samples": 30,
        "median_ms": 5.8,
        "p95_ms": 6.8,
        "max_ms": 7.2
      },
      "rendered_navigation_frames": 36
    },
    {
      "viewport": "mobile",
      "mode": "lab",
      "drawCalls": 91,
      "triangles": 648,
      "visibleLabels": 2,
      "navigation_frame_gaps": {
        "samples": 30,
        "median_ms": 16.7,
        "p95_ms": 18.1,
        "max_ms": 18.3
      },
      "cpu_submit": {
        "samples": 30,
        "median_ms": 5.7,
        "p95_ms": 6.6,
        "max_ms": 6.7
      },
      "rendered_navigation_frames": 36
    }
  ],
  "screenshots": {
    "kind": "Real page captures resized into a contact sheet; not generated mockups.",
    "sources": [
      {
        "file": "desktop-palace.png",
        "sha256": "aadbbc818881f7594a758b931f698d116a409163f5b5494be05ecdb02da88bbf"
      },
      {
        "file": "mobile-palace.png",
        "sha256": "b46d7361d6c2a6a694d48159534d44413a7943d2f59e94a14f55658654b62526"
      },
      {
        "file": "desktop-stars.png",
        "sha256": "5a6734706d10ef9c4f6838b260ba0d8cf3f51c7284c825b4c1e79c90ec58c46c"
      },
      {
        "file": "mobile-stars.png",
        "sha256": "1d4560e81c603a23bf8d91910c9c6858be58ba77395c47b9d1a1a67a52086599"
      },
      {
        "file": "desktop-river.png",
        "sha256": "ce40b8dfe2f736a85a2c7bd48055761a7712f9eca4e351ebf2ad92360f08e560"
      },
      {
        "file": "mobile-river.png",
        "sha256": "661b7488157dace75b64bb77f585d6e3645a27b3b65b1b1d3ddfc6ed608e294a"
      },
      {
        "file": "desktop-garden.png",
        "sha256": "96c12172382b1a5b385ab1106473bb17c4828615165901fdc2e769d1e55af396"
      },
      {
        "file": "mobile-garden.png",
        "sha256": "0aca020d4c8d79a945ed2bcedec2ed97afb3b0df445be8bf85ba593e241e7347"
      },
      {
        "file": "desktop-lab.png",
        "sha256": "fcba63cd654d847c1a7ec77c5bddceaf7e92cae9bf4af568d19cae45d40da545"
      },
      {
        "file": "mobile-lab.png",
        "sha256": "6a21f35f83ba1e4b46340c2e8f262335da6bb8154ffcd9e399dc7368a42f8c87"
      }
    ],
    "private_images_included": false,
    "capture_note": "Test-only opacity pulse kept the attached browser compositor responding during captures."
  },
  "limitations": [
    "Mobile viewport/touch emulation, not physical phone testing.",
    "Frame gaps include scheduling and CDP work; CPU submission is not GPU time or a phone FPS promise.",
    "No assistive-technology certification or broad browser matrix.",
    "Private pack stays local; source bodies are memory-only, annotations are unencrypted localStorage.",
    "Context loss uses text fallback, not automatic 3D recovery."
  ]
}
