{
  "scenario": "Revert files restores populated and nested submodules without moving HEAD",
  "failsOnBase": true,
  "passesOnHead": true,
  "couldNotRun": null,
  "baseSha": "fa864bfca7286a93a6963e283e6f93123acb94f0",
  "headSha": "b3e60cf26e013654c37d15c2cc292332b658fb28",
  "verdict": "Proven: the scenario fails on base `fa864bfca7` and passes on head `b3e60cf26e`.",
  "steps": {
    "base": [
      {
        "step": "app.open <pairing link>",
        "status": "passed"
      },
      {
        "step": "expect.not.toHaveURL /\\/pair(?:[?#]|$)/",
        "status": "passed"
      },
      {
        "step": "app.open /fbbf50b3-7e82-4901-8df1-58b51af72697/mcp:f2cff430-35cd-4237-8742-e61bb8d339dd",
        "status": "passed"
      },
      {
        "step": "locator.fill getByRole(\"textbox\")",
        "status": "passed"
      },
      {
        "step": "locator.press getByRole(\"textbox\")",
        "status": "passed"
      },
      {
        "step": "locator.hover getByText(\"Turn 3: later edits at all three levels\")",
        "status": "passed"
      },
      {
        "step": "locator.tap getByRole(\"button\", name: \"Edit from here\")",
        "status": "passed"
      },
      {
        "step": "locator.tap getByRole(\"button\", name: \"Revert files too\")",
        "status": "passed"
      },
      {
        "step": "locator.tap getByRole(\"button\", name: \"Toggle terminal drawer\")",
        "status": "passed"
      },
      {
        "step": "locator.tap locator(\"canvas.cursor-text\")",
        "status": "passed"
      },
      {
        "step": "browser.keyboard.type 6 chars",
        "status": "passed"
      },
      {
        "step": "browser.evaluate ",
        "status": "passed"
      },
      {
        "step": "app.screenshot restore-stability-0",
        "status": "passed"
      },
      {
        "step": "app.screenshot restore-stability-1",
        "status": "passed"
      },
      {
        "step": "app.screenshot restore-stability-2",
        "status": "passed"
      },
      {
        "step": "app.screenshot restored-submodule-files",
        "status": "passed"
      }
    ],
    "head": [
      {
        "step": "app.open <pairing link>",
        "status": "passed"
      },
      {
        "step": "expect.not.toHaveURL /\\/pair(?:[?#]|$)/",
        "status": "passed"
      },
      {
        "step": "app.open /61737216-b4fd-4e75-a989-37a3901aa56f/mcp:ff8e174a-e2de-4ab0-b78d-df97cbafb9e5",
        "status": "passed"
      },
      {
        "step": "locator.fill getByRole(\"textbox\")",
        "status": "passed"
      },
      {
        "step": "locator.press getByRole(\"textbox\")",
        "status": "passed"
      },
      {
        "step": "locator.hover getByText(\"Turn 3: later edits at all three levels\")",
        "status": "passed"
      },
      {
        "step": "locator.tap getByRole(\"button\", name: \"Edit from here\")",
        "status": "passed"
      },
      {
        "step": "locator.tap getByRole(\"button\", name: \"Revert files too\")",
        "status": "passed"
      },
      {
        "step": "locator.tap getByRole(\"button\", name: \"Toggle terminal drawer\")",
        "status": "passed"
      },
      {
        "step": "locator.tap locator(\"canvas.cursor-text\")",
        "status": "passed"
      },
      {
        "step": "browser.keyboard.type 6 chars",
        "status": "passed"
      },
      {
        "step": "browser.evaluate ",
        "status": "passed"
      },
      {
        "step": "app.screenshot restore-stability-0",
        "status": "passed"
      },
      {
        "step": "app.screenshot restore-stability-1",
        "status": "passed"
      },
      {
        "step": "app.screenshot restore-stability-2",
        "status": "passed"
      },
      {
        "step": "app.screenshot restored-submodule-files",
        "status": "passed"
      }
    ]
  },
  "captures": [
    "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/73648e0574f7822a/001-restore-stability-0.png",
    "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8d9c087e05f1678a/002-restore-stability-1.png",
    "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/398f42b0e673b568/003-restore-stability-2.png",
    "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/78caaaa11341c121/004-restored-submodule-files.png",
    "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/43790ecba51ad220/005-failure.png",
    "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/641c6b1419e00aac/001-restore-stability-0.png",
    "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b56cfead641122c6/002-restore-stability-1.png",
    "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/465c7b09aeef6dd2/003-restore-stability-2.png",
    "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8da5295bb479e1b7/004-restored-submodule-files.png"
  ],
  "videos": [
    "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/19121c5a9a11c14e/before-proof.mp4",
    "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bba8e57859299cf6/after-proof.mp4"
  ],
  "markdown": "### Scenario: Revert files restores populated and nested submodules without moving HEAD\n\n**Proven: the scenario fails on base [fa864bfca7](https://github.com/pingdotgg/t3code/commit/fa864bfca7286a93a6963e283e6f93123acb94f0) and passes on head [b3e60cf26e](https://github.com/pingdotgg/t3code/commit/b3e60cf26e013654c37d15c2cc292332b658fb28).**\n\n|  | Base [fa864bfca7](https://github.com/pingdotgg/t3code/commit/fa864bfca7286a93a6963e283e6f93123acb94f0) | Head [b3e60cf26e](https://github.com/pingdotgg/t3code/commit/b3e60cf26e013654c37d15c2cc292332b658fb28) |\n| --- | --- | --- |\n| Result | \u274c failed<br>ASSERTION_FAILED: expected [{\"file\":\"parent.txt\",\"content\":\"parent v2 EDITED\",\"laterFile\":false,\"headUnchanged\":true},{\"file\":\"sub/sub.txt\",\"content\":\"sub v3 TURN3\",\"laterFile\":true,\"headUnchanged\":true},{\"file\":\"sub/inner/inner.txt\",\"content\":\"inner v3 TURN3\",\"laterFile\":true,\"headUnchanged\":true}] to equal [{\"file\":\"parent.txt\",\"content\":\"parent v2 EDITED\",\"laterFile\":false,\"headUnchanged\":true},{\"file\":\"sub/sub.txt\",\"content\":\"sub v2 EDITED\",\"laterFile\":false,\"headUnchanged\":true},{\"file\":\"sub/inner/inner.txt\",\"content\":\"inner v2 EDITED\",\"laterFile\":false,\"headUnchanged\":true}] | \u2705 passed |\n| restore stability 0 | ![Base fa864bfca7: restore stability 0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/73648e0574f7822a/001-restore-stability-0.png) | ![Head b3e60cf26e: restore stability 0](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/641c6b1419e00aac/001-restore-stability-0.png) |\n| restore stability 1 | ![Base fa864bfca7: restore stability 1](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8d9c087e05f1678a/002-restore-stability-1.png) | ![Head b3e60cf26e: restore stability 1](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b56cfead641122c6/002-restore-stability-1.png) |\n| restore stability 2 | ![Base fa864bfca7: restore stability 2](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/398f42b0e673b568/003-restore-stability-2.png) | ![Head b3e60cf26e: restore stability 2](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/465c7b09aeef6dd2/003-restore-stability-2.png) |\n| restored submodule files | ![Base fa864bfca7: restored submodule files](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/78caaaa11341c121/004-restored-submodule-files.png) | ![Head b3e60cf26e: restored submodule files](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8da5295bb479e1b7/004-restored-submodule-files.png) |\n| failure | ![Base fa864bfca7: failure](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/43790ecba51ad220/005-failure.png) |  |\n",
  "base": {
    "sha": "fa864bfca7286a93a6963e283e6f93123acb94f0",
    "status": "failed",
    "title": "Revert files restores populated and nested submodules without moving HEAD",
    "message": "ASSERTION_FAILED: expected [{\"file\":\"parent.txt\",\"content\":\"parent v2 EDITED\",\"laterFile\":false,\"headUnchanged\":true},{\"file\":\"sub/sub.txt\",\"content\":\"sub v3 TURN3\",\"laterFile\":true,\"headUnchanged\":true},{\"file\":\"sub/inner/inner.txt\",\"content\":\"inner v3 TURN3\",\"laterFile\":true,\"headUnchanged\":true}] to equal [{\"file\":\"parent.txt\",\"content\":\"parent v2 EDITED\",\"laterFile\":false,\"headUnchanged\":true},{\"file\":\"sub/sub.txt\",\"content\":\"sub v2 EDITED\",\"laterFile\":false,\"headUnchanged\":true},{\"file\":\"sub/inner/inner.txt\",\"content\":\"inner v2 EDITED\",\"laterFile\":false,\"headUnchanged\":true}]",
    "steps": [
      {
        "step": "app.open <pairing link>",
        "status": "passed"
      },
      {
        "step": "expect.not.toHaveURL /\\/pair(?:[?#]|$)/",
        "status": "passed"
      },
      {
        "step": "app.open /fbbf50b3-7e82-4901-8df1-58b51af72697/mcp:f2cff430-35cd-4237-8742-e61bb8d339dd",
        "status": "passed"
      },
      {
        "step": "locator.fill getByRole(\"textbox\")",
        "status": "passed"
      },
      {
        "step": "locator.press getByRole(\"textbox\")",
        "status": "passed"
      },
      {
        "step": "locator.hover getByText(\"Turn 3: later edits at all three levels\")",
        "status": "passed"
      },
      {
        "step": "locator.tap getByRole(\"button\", name: \"Edit from here\")",
        "status": "passed"
      },
      {
        "step": "locator.tap getByRole(\"button\", name: \"Revert files too\")",
        "status": "passed"
      },
      {
        "step": "locator.tap getByRole(\"button\", name: \"Toggle terminal drawer\")",
        "status": "passed"
      },
      {
        "step": "locator.tap locator(\"canvas.cursor-text\")",
        "status": "passed"
      },
      {
        "step": "browser.keyboard.type 6 chars",
        "status": "passed"
      },
      {
        "step": "browser.evaluate ",
        "status": "passed"
      },
      {
        "step": "app.screenshot restore-stability-0",
        "status": "passed"
      },
      {
        "step": "app.screenshot restore-stability-1",
        "status": "passed"
      },
      {
        "step": "app.screenshot restore-stability-2",
        "status": "passed"
      },
      {
        "step": "app.screenshot restored-submodule-files",
        "status": "passed"
      }
    ],
    "captures": [
      "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/73648e0574f7822a/001-restore-stability-0.png",
      "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8d9c087e05f1678a/002-restore-stability-1.png",
      "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/398f42b0e673b568/003-restore-stability-2.png",
      "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/78caaaa11341c121/004-restored-submodule-files.png",
      "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/43790ecba51ad220/005-failure.png"
    ],
    "videos": [
      "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/19121c5a9a11c14e/before-proof.mp4"
    ]
  },
  "head": {
    "sha": "b3e60cf26e013654c37d15c2cc292332b658fb28",
    "status": "passed",
    "title": "Revert files restores populated and nested submodules without moving HEAD",
    "steps": [
      {
        "step": "app.open <pairing link>",
        "status": "passed"
      },
      {
        "step": "expect.not.toHaveURL /\\/pair(?:[?#]|$)/",
        "status": "passed"
      },
      {
        "step": "app.open /61737216-b4fd-4e75-a989-37a3901aa56f/mcp:ff8e174a-e2de-4ab0-b78d-df97cbafb9e5",
        "status": "passed"
      },
      {
        "step": "locator.fill getByRole(\"textbox\")",
        "status": "passed"
      },
      {
        "step": "locator.press getByRole(\"textbox\")",
        "status": "passed"
      },
      {
        "step": "locator.hover getByText(\"Turn 3: later edits at all three levels\")",
        "status": "passed"
      },
      {
        "step": "locator.tap getByRole(\"button\", name: \"Edit from here\")",
        "status": "passed"
      },
      {
        "step": "locator.tap getByRole(\"button\", name: \"Revert files too\")",
        "status": "passed"
      },
      {
        "step": "locator.tap getByRole(\"button\", name: \"Toggle terminal drawer\")",
        "status": "passed"
      },
      {
        "step": "locator.tap locator(\"canvas.cursor-text\")",
        "status": "passed"
      },
      {
        "step": "browser.keyboard.type 6 chars",
        "status": "passed"
      },
      {
        "step": "browser.evaluate ",
        "status": "passed"
      },
      {
        "step": "app.screenshot restore-stability-0",
        "status": "passed"
      },
      {
        "step": "app.screenshot restore-stability-1",
        "status": "passed"
      },
      {
        "step": "app.screenshot restore-stability-2",
        "status": "passed"
      },
      {
        "step": "app.screenshot restored-submodule-files",
        "status": "passed"
      }
    ],
    "captures": [
      "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/641c6b1419e00aac/001-restore-stability-0.png",
      "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b56cfead641122c6/002-restore-stability-1.png",
      "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/465c7b09aeef6dd2/003-restore-stability-2.png",
      "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8da5295bb479e1b7/004-restored-submodule-files.png"
    ],
    "videos": [
      "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bba8e57859299cf6/after-proof.mp4"
    ]
  },
  "summaryRecovery": "The comparison parent exited with signal 143 after both app runs; summary reconstructed with the runner exported readSide/buildProof functions from the finalized reports."
}