[
  {
    "scenario": "colab-export-recovery",
    "script": "test-scenario-colab-export-recovery.ts",
    "status": "PASS",
    "exit_code": 0,
    "assertions_total": 0,
    "assertions_passed": 0,
    "assertions_failed": 0,
    "failure_messages": [],
    "assertion_results": [
      {
        "status": "PASS",
        "message": "Drive reconnect exported a saved V2 notebook and cleared its persisted format-version error."
      },
      {
        "status": "PASS",
        "message": "Notebook properties retried the real export, cleared its error, reused the copy, and left source history unchanged."
      }
    ]
  },
  {
    "scenario": "horizontal-rendering",
    "script": "test-scenario-horizontal-rendering.ts",
    "status": "PASS",
    "exit_code": 0,
    "assertions_total": 24,
    "assertions_passed": 24,
    "assertions_failed": 0,
    "failure_messages": [],
    "assertion_results": [
      {
        "status": "PASS",
        "message": "1280: notebook width is bounded"
      },
      {
        "status": "PASS",
        "message": "1280: proseFits"
      },
      {
        "status": "PASS",
        "message": "1280: proseWraps"
      },
      {
        "status": "PASS",
        "message": "1280: smallTableFits"
      },
      {
        "status": "PASS",
        "message": "1280: wideTableScrolls"
      },
      {
        "status": "PASS",
        "message": "1280: codeScrolls"
      },
      {
        "status": "PASS",
        "message": "1280: scrollRegionsFocusable"
      },
      {
        "status": "PASS",
        "message": "1280: outputFits"
      },
      {
        "status": "PASS",
        "message": "1280: outputIntact"
      },
      {
        "status": "PASS",
        "message": "1280: siblingFits"
      },
      {
        "status": "PASS",
        "message": "1280: code scrolls with the keyboard"
      },
      {
        "status": "PASS",
        "message": "1280: table scrolls with the keyboard"
      },
      {
        "status": "PASS",
        "message": "900: notebook width is bounded"
      },
      {
        "status": "PASS",
        "message": "900: proseFits"
      },
      {
        "status": "PASS",
        "message": "900: proseWraps"
      },
      {
        "status": "PASS",
        "message": "900: smallTableFits"
      },
      {
        "status": "PASS",
        "message": "900: wideTableScrolls"
      },
      {
        "status": "PASS",
        "message": "900: codeScrolls"
      },
      {
        "status": "PASS",
        "message": "900: scrollRegionsFocusable"
      },
      {
        "status": "PASS",
        "message": "900: outputFits"
      },
      {
        "status": "PASS",
        "message": "900: outputIntact"
      },
      {
        "status": "PASS",
        "message": "900: siblingFits"
      },
      {
        "status": "PASS",
        "message": "900: code scrolls with the keyboard"
      },
      {
        "status": "PASS",
        "message": "900: table scrolls with the keyboard"
      }
    ]
  },
  {
    "scenario": "drive-revision-recovery",
    "script": "test-scenario-drive-revision-recovery.ts",
    "status": "PASS",
    "exit_code": 0,
    "assertions_total": 0,
    "assertions_passed": 0,
    "assertions_failed": 0,
    "failure_messages": [],
    "assertion_results": [
      {
        "status": "PASS",
        "message": "Two isolated browser journals converged after an overwritten revision and retained operations across reload; v3 only."
      }
    ]
  },
  {
    "scenario": "html-cell",
    "script": "test-scenario-html-cell.ts",
    "status": "PASS",
    "exit_code": 0,
    "assertions_total": 0,
    "assertions_passed": 0,
    "assertions_failed": 0,
    "failure_messages": [],
    "assertion_results": [
      {
        "status": "PASS",
        "message": "Created local notebook fixture for HTML cell scenario"
      },
      {
        "status": "PASS",
        "message": "Opened notebook with editable markdown cell"
      },
      {
        "status": "PASS",
        "message": "Converted markdown cell to HTML and populated inline SVG source"
      },
      {
        "status": "PASS",
        "message": "Observed inline SVG markup in HTML preview srcdoc"
      },
      {
        "status": "PASS",
        "message": "Rendered HTML preview without allow-scripts in the iframe sandbox"
      }
    ]
  },
  {
    "scenario": "hello-world",
    "script": "test-scenario-hello-world.ts",
    "status": "PASS",
    "exit_code": 0,
    "assertions_total": 11,
    "assertions_passed": 11,
    "assertions_failed": 0,
    "failure_messages": [],
    "assertion_results": [
      {
        "status": "PASS",
        "message": "Injected OIDC auth token"
      },
      {
        "status": "PASS",
        "message": "Created local notebook fixture"
      },
      {
        "status": "PASS",
        "message": "Opened App Console document tab"
      },
      {
        "status": "PASS",
        "message": "Found App Console input"
      },
      {
        "status": "PASS",
        "message": "Configured local runner endpoint via app.runners.update"
      },
      {
        "status": "PASS",
        "message": "Confirmed configured runner via app.runners.get"
      },
      {
        "status": "PASS",
        "message": "Set default runner via app.runners.setDefault"
      },
      {
        "status": "PASS",
        "message": "Confirmed default runner via app.runners.getDefault"
      },
      {
        "status": "PASS",
        "message": "Opened scenario notebook"
      },
      {
        "status": "PASS",
        "message": "Triggered cell execution"
      },
      {
        "status": "PASS",
        "message": "Observed hello world in executed cell outputs"
      }
    ]
  },
  {
    "scenario": "open-shared-drive-link",
    "script": "test-scenario-open-shared-drive-link.ts",
    "status": "PASS",
    "exit_code": 0,
    "assertions_total": 26,
    "assertions_passed": 26,
    "assertions_failed": 0,
    "failure_messages": [],
    "assertion_results": [
      {
        "status": "PASS",
        "message": "Seeded fake Drive runtime configuration"
      },
      {
        "status": "PASS",
        "message": "Removed shared doc query parameter after queueing"
      },
      {
        "status": "PASS",
        "message": "Opened Drive Link Status tab while shared link is pending"
      },
      {
        "status": "PASS",
        "message": "Status tab listed pending shared Drive URI"
      },
      {
        "status": "PASS",
        "message": "Seeded fake Google Drive auth token"
      },
      {
        "status": "PASS",
        "message": "Persisted resolved local current notebook after reload"
      },
      {
        "status": "PASS",
        "message": "Explorer shows the containing shared Drive folder"
      },
      {
        "status": "PASS",
        "message": "Explorer shows the shared notebook file"
      },
      {
        "status": "PASS",
        "message": "Opened the shared notebook tab"
      },
      {
        "status": "PASS",
        "message": "Persisted same-domain trust for the shared notebook"
      },
      {
        "status": "PASS",
        "message": "Notebook cell context menu offers a cell link action"
      },
      {
        "status": "PASS",
        "message": "File explorer context menu offers a share link action"
      },
      {
        "status": "PASS",
        "message": "File explorer context menu offers a markdown link action"
      },
      {
        "status": "PASS",
        "message": "Copied the shared notebook markdown link from the file context menu"
      },
      {
        "status": "PASS",
        "message": "Copied the shared notebook app link from the file context menu"
      },
      {
        "status": "PASS",
        "message": "Notebook tab context menu offers a markdown link action"
      },
      {
        "status": "PASS",
        "message": "Notebook tab context menu resolved the Drive-backed share target"
      },
      {
        "status": "PASS",
        "message": "Copied the shared notebook markdown link from the tab context menu"
      },
      {
        "status": "PASS",
        "message": "Folder explorer context menu offers a share link action"
      },
      {
        "status": "PASS",
        "message": "Copied the shared folder app link from the folder context menu"
      },
      {
        "status": "PASS",
        "message": "Opened App Console for direct Drive creation"
      },
      {
        "status": "PASS",
        "message": "Created a Drive-backed notebook directly through the runtime API"
      },
      {
        "status": "PASS",
        "message": "Explorer shows the directly created Drive notebook once"
      },
      {
        "status": "PASS",
        "message": "Opened Drive Link Status tab while shared folder link is pending"
      },
      {
        "status": "PASS",
        "message": "Shared folder query links mount the folder in Explorer"
      },
      {
        "status": "PASS",
        "message": "Mounted shared folders can be expanded to show their contents"
      }
    ]
  },
  {
    "scenario": "appkernel-javascript",
    "script": "test-scenario-appkernel-javascript.ts",
    "status": "PASS",
    "exit_code": 0,
    "assertions_total": 15,
    "assertions_passed": 15,
    "assertions_failed": 0,
    "failure_messages": [],
    "assertion_results": [
      {
        "status": "PASS",
        "message": "Created AppKernel scenario notebook fixture"
      },
      {
        "status": "PASS",
        "message": "Opened AppKernel scenario notebook"
      },
      {
        "status": "PASS",
        "message": "JS cells show browser/sandbox runner selector and default to browser"
      },
      {
        "status": "PASS",
        "message": "Triggered Cell A execution"
      },
      {
        "status": "PASS",
        "message": "Cell A wrote stdout output and zero exit code via AppKernel"
      },
      {
        "status": "PASS",
        "message": "Cell A rendered output is visible in notebook UI"
      },
      {
        "status": "PASS",
        "message": "AppKernel Cell A execution did not show backend runner error toast"
      },
      {
        "status": "PASS",
        "message": "Triggered Cell B execution"
      },
      {
        "status": "PASS",
        "message": "Cell B accessed runme helper and printed notebook information"
      },
      {
        "status": "PASS",
        "message": "Cell B rendered output is visible in notebook UI"
      },
      {
        "status": "PASS",
        "message": "Triggered Cell C execution"
      },
      {
        "status": "PASS",
        "message": "Cell C captured expected error and non-zero exit code"
      },
      {
        "status": "PASS",
        "message": "Cell C rendered error output is visible in notebook UI"
      },
      {
        "status": "PASS",
        "message": "Triggered Cell A re-run"
      },
      {
        "status": "PASS",
        "message": "Re-running Cell A replaces stale output and does not retain Cell C error text"
      }
    ]
  },
  {
    "scenario": "jupyter",
    "script": "test-scenario-jupyter.ts",
    "status": "PASS",
    "exit_code": 0,
    "assertions_total": 19,
    "assertions_passed": 19,
    "assertions_failed": 0,
    "failure_messages": [],
    "assertion_results": [
      {
        "status": "PASS",
        "message": "Configured local runner endpoint before executing cells"
      },
      {
        "status": "PASS",
        "message": "Injected OIDC token"
      },
      {
        "status": "PASS",
        "message": "Applied notebook-focused layout (app console minimized, side panel collapsed)"
      },
      {
        "status": "PASS",
        "message": "Seeded jupyter CUJ notebook fixture"
      },
      {
        "status": "PASS",
        "message": "Re-applied notebook-focused layout after notebook reload"
      },
      {
        "status": "PASS",
        "message": "Opened jupyter CUJ notebook"
      },
      {
        "status": "PASS",
        "message": "Triggered AppKernel setup cell"
      },
      {
        "status": "PASS",
        "message": "AppKernel setup cell exited successfully"
      },
      {
        "status": "PASS",
        "message": "Selected Jupyter kernel from dropdown for cell A"
      },
      {
        "status": "PASS",
        "message": "Selected Jupyter kernel from dropdown for cell B"
      },
      {
        "status": "PASS",
        "message": "Jupyter kernel selection persisted to cell metadata via dropdown"
      },
      {
        "status": "PASS",
        "message": "Triggered IPython cell A"
      },
      {
        "status": "PASS",
        "message": "IPython cell A output contains 'set 42'"
      },
      {
        "status": "PASS",
        "message": "Triggered IPython cell B"
      },
      {
        "status": "PASS",
        "message": "IPython cell B output contains 'read 42'"
      },
      {
        "status": "PASS",
        "message": "Triggered kernel stop cell"
      },
      {
        "status": "PASS",
        "message": "Kernel stop cell exited successfully"
      },
      {
        "status": "PASS",
        "message": "record stop command succeeded"
      },
      {
        "status": "PASS",
        "message": "Movie exists after record stop: /home/runner/work/web/web/app/test/browser/test-output/scenario-jupyter-cuj-walkthrough.webm"
      }
    ]
  },
  {
    "scenario": "no-runner-logs",
    "script": "test-scenario-no-runner-logs.ts",
    "status": "PASS",
    "exit_code": 0,
    "assertions_total": 9,
    "assertions_passed": 9,
    "assertions_failed": 0,
    "failure_messages": [],
    "assertion_results": [
      {
        "status": "PASS",
        "message": "Injected OIDC auth token"
      },
      {
        "status": "PASS",
        "message": "Created local notebook fixture"
      },
      {
        "status": "PASS",
        "message": "Opened App Console document tab"
      },
      {
        "status": "PASS",
        "message": "Removed all configured runners"
      },
      {
        "status": "PASS",
        "message": "Opened no-runner scenario notebook"
      },
      {
        "status": "PASS",
        "message": "Attempted to execute cell without runners"
      },
      {
        "status": "PASS",
        "message": "Kept execution running while the runner was unreachable"
      },
      {
        "status": "PASS",
        "message": "Opened Logs tab"
      },
      {
        "status": "PASS",
        "message": "Did not synthesize a terminal error for an unreachable runner"
      }
    ]
  },
  {
    "scenario": "notebook-focus-persistence",
    "script": "test-scenario-notebook-focus-persistence.ts",
    "status": "PASS",
    "exit_code": 0,
    "assertions_total": 4,
    "assertions_passed": 4,
    "assertions_failed": 0,
    "failure_messages": [],
    "assertion_results": [
      {
        "status": "PASS",
        "message": "Seeded local markdown notebook"
      },
      {
        "status": "PASS",
        "message": "Opened markdown cell in editor mode"
      },
      {
        "status": "PASS",
        "message": "Persisted active markdown editor state"
      },
      {
        "status": "PASS",
        "message": "Reload restored markdown cell in editor mode"
      }
    ]
  }
]