{
  "friction": [
    "The iOS runner\u2019s full-session recording timed out during cleanup and truncated the head video; recording only the push interaction avoided the download timeout."
  ],
  "failsOnBase": true,
  "passesOnHead": true,
  "baseSha": "382312aba8fd4b2197d2f902495e5ab765aee3ec",
  "headSha": "c84a54c303e0dd770ff43efb24f453d596a50336",
  "method": "scenarios:prove from current origin/main; real base/head servers in separate isolated worktrees and fresh databases, real GitLab over HTTPS, pooled iPhone 18 Pro native dev client and headless Chromium at 1280x800, light theme; replay only supplies the model turn. All final screenshots and recordings were inspected.",
  "steps": "Created original feature MR !1 and a newer fork feature MR !2. On each commit, seeded the original checkout and replay thread, committed locally, opened Git controls and pushed. Base notification had no View; head had View, which opened Original branch MR #1. Separately, seeded 20 additional closed fork MRs: base web offered Create MR while head displayed original MR #1 at candidate #22. Repeated that comparison after adding large descriptions producing a 13,243,505-byte all-state list and a 6,002,009-byte single MR; base missed MR #1 and head displayed it. Captured live glab candidate order and response sizes.",
  "captures": [
    {
      "label": "iOS push: Base 382312aba8: before push",
      "side": "before",
      "url": "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/aa0c85fc89ad8188/001-before-push.png"
    },
    {
      "label": "iOS push: Head c84a54c303: before push",
      "side": "after",
      "url": "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/11f4669421147264/001-before-push.png"
    },
    {
      "label": "iOS push: Base 382312aba8: push result",
      "side": "before",
      "url": "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5deb1c6c9bf38db1/002-push-result.png"
    },
    {
      "label": "iOS push: Head c84a54c303: push result",
      "side": "after",
      "url": "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9e05b06fbb5c7692/002-push-result.png"
    },
    {
      "label": "iOS push: Base 382312aba8: failure",
      "side": "before",
      "url": "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/444c864b5e25ffcf/003-failure.png"
    },
    {
      "label": "iOS push: Head c84a54c303: original mr",
      "side": "after",
      "url": "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8b9a04f8881b0aba/003-original-mr.png"
    },
    {
      "label": "Web status, 22 candidates: Base 382312aba8: branch status",
      "side": "before",
      "url": "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/357f3d0c4cb237ef/001-branch-status.png"
    },
    {
      "label": "Web status, 22 candidates: Head c84a54c303: branch status",
      "side": "after",
      "url": "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/21e774b572f362dc/001-branch-status.png"
    },
    {
      "label": "Web status, 22 candidates: Base 382312aba8: failure",
      "side": "before",
      "url": "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/15caaf17b7c7491d/002-failure.png"
    },
    {
      "label": "Web status, 13.2 MB response: Base 382312aba8: branch status",
      "side": "before",
      "url": "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b49df76c18585e81/001-branch-status.png"
    },
    {
      "label": "Web status, 13.2 MB response: Head c84a54c303: branch status",
      "side": "after",
      "url": "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8a8c1bc25486dfe1/001-branch-status.png"
    },
    {
      "label": "Web status, 13.2 MB response: Base 382312aba8: failure",
      "side": "before",
      "url": "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3938312734ad3d66/002-failure.png"
    },
    {
      "label": "iOS push interaction",
      "side": "before",
      "url": "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b72fd92db4fd5dc3/001-recording.mp4"
    },
    {
      "label": "iOS push interaction and opening original MR #1",
      "side": "after",
      "url": "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c573203952ef6c1d/001-recording.mp4"
    },
    {
      "label": "Live glab candidate order, formatted transcript",
      "side": "other",
      "url": "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ae539ce3393cc474/gitlab-candidates.png"
    },
    {
      "label": "Live glab all-state candidates, formatted transcript",
      "side": "other",
      "url": "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f65fc7d1171215a6/candidates.png"
    },
    {
      "label": "Live glab output sizes, formatted transcript",
      "side": "other",
      "url": "https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fba5789fc3520159/large-output.png"
    }
  ],
  "markdown": "## Evidence\n\nReal GitLab projects, fresh isolated T3 databases, replay model only. iPhone 18 Pro dev client and Chromium 1280\u00d7800, both light theme.\n\n1. Open original-project MR !1 from feature into main. Create a fork with a different feature branch and newer MR !2 targeting the original project. The live one-result query returns only the fork MR.\n2. Add the original feature checkout as a project, create a replay thread, make a local commit, open Git controls, and Push. Base omits View from the push notification; head shows View and opens Original branch MR #1. Both status menus show MR #1 before pushing.\n\n### Scenario: Push offers View for the branch's own MR behind a newer fork MR\n\n**Proven: the scenario fails on base [382312aba8](https://github.com/pingdotgg/t3code/commit/382312aba8fd4b2197d2f902495e5ab765aee3ec) and passes on head [c84a54c303](https://github.com/pingdotgg/t3code/commit/c84a54c303e0dd770ff43efb24f453d596a50336).**\n\n|  | Base [382312aba8](https://github.com/pingdotgg/t3code/commit/382312aba8fd4b2197d2f902495e5ab765aee3ec) | Head [c84a54c303](https://github.com/pingdotgg/t3code/commit/c84a54c303e0dd770ff43efb24f453d596a50336) |\n| --- | --- | --- |\n| Result | \u274c failed<br>ASSERTION_FAILED: expect.toBeVisible failed<br>locator: getByRole(\"button\", name: \"View\")<br>expected: visible<br>observed: no node (match count 0) | \u2705 passed |\n| before push | ![Base 382312aba8: before push](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/aa0c85fc89ad8188/001-before-push.png) | ![Head c84a54c303: before push](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/11f4669421147264/001-before-push.png) |\n| push result | ![Base 382312aba8: push result](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5deb1c6c9bf38db1/002-push-result.png) | ![Head c84a54c303: push result](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9e05b06fbb5c7692/002-push-result.png) |\n| failure | ![Base 382312aba8: failure](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/444c864b5e25ffcf/003-failure.png) |  |\n| original mr |  | ![Head c84a54c303: original mr](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8b9a04f8881b0aba/003-original-mr.png) |\n| Before interaction ([382312aba8](https://github.com/pingdotgg/t3code/commit/382312aba8fd4b2197d2f902495e5ab765aee3ec)) | After interaction ([c84a54c303](https://github.com/pingdotgg/t3code/commit/c84a54c303e0dd770ff43efb24f453d596a50336)) |\n| --- | --- |\n| [Push recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b72fd92db4fd5dc3/001-recording.mp4) | [Push and open original MR recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c573203952ef6c1d/001-recording.mp4) |\n\n[iOS scenario](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/55dc1403c297256c/gitlab-fork-slot.e2e.ts)\n\n3. On a second fixture, add twenty newer closed fork MRs using feature, leaving original MR !1 open at candidate #22. Open its feature checkout in the web client: base incorrectly offers Create MR; head displays #1: Original branch MR.\n\n### Scenario: Status finds the original MR beyond twenty newer same-named fork MRs\n\n**Proven: the scenario fails on base [382312aba8](https://github.com/pingdotgg/t3code/commit/382312aba8fd4b2197d2f902495e5ab765aee3ec) and passes on head [c84a54c303](https://github.com/pingdotgg/t3code/commit/c84a54c303e0dd770ff43efb24f453d596a50336).**\n\n|  | Base [382312aba8](https://github.com/pingdotgg/t3code/commit/382312aba8fd4b2197d2f902495e5ab765aee3ec) | Head [c84a54c303](https://github.com/pingdotgg/t3code/commit/c84a54c303e0dd770ff43efb24f453d596a50336) |\n| --- | --- | --- |\n| Result | \u274c failed<br>ASSERTION_FAILED: expect.toBeVisible failed<br>locator: getByText(\"#1: Original branch MR\")<br>expected: visible<br>observed: no node (match count 0) | \u2705 passed |\n| branch status | ![Base 382312aba8: branch status](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/357f3d0c4cb237ef/001-branch-status.png) | ![Head c84a54c303: branch status](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/21e774b572f362dc/001-branch-status.png) |\n| failure | ![Base 382312aba8: failure](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/15caaf17b7c7491d/002-failure.png) |  |\n4. Repeat the same web scenario after setting four fork descriptions to large values: one million less-than characters in MR !22, and 400,000 each in MRs !19\u2013!21. Real glab emits 6,002,009 bytes for one MR and 13,243,505 bytes for the full list. The head app still displays original MR #1, exercising smaller-page retries and pagination under its 8,000,000-byte cap.\n\n### Scenario: Status finds the original MR beyond twenty newer same-named fork MRs\n\n**Proven: the scenario fails on base [382312aba8](https://github.com/pingdotgg/t3code/commit/382312aba8fd4b2197d2f902495e5ab765aee3ec) and passes on head [c84a54c303](https://github.com/pingdotgg/t3code/commit/c84a54c303e0dd770ff43efb24f453d596a50336).**\n\n|  | Base [382312aba8](https://github.com/pingdotgg/t3code/commit/382312aba8fd4b2197d2f902495e5ab765aee3ec) | Head [c84a54c303](https://github.com/pingdotgg/t3code/commit/c84a54c303e0dd770ff43efb24f453d596a50336) |\n| --- | --- | --- |\n| Result | \u274c failed<br>ASSERTION_FAILED: expect.toBeVisible failed<br>locator: getByText(\"#1: Original branch MR\")<br>expected: visible<br>observed: no node (match count 0) | \u2705 passed |\n| branch status | ![Base 382312aba8: branch status](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b49df76c18585e81/001-branch-status.png) | ![Head c84a54c303: branch status](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8a8c1bc25486dfe1/001-branch-status.png) |\n| failure | ![Base 382312aba8: failure](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3938312734ad3d66/002-failure.png) |  |\n[Web scenario, used unchanged for both fixtures](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0436a99c307ce0af/gitlab-fork-status.e2e.ts)\n\n![Live glab single-result fork ordering](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ae539ce3393cc474/gitlab-candidates.png)\n\n![Live glab all-state candidate ordering](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f65fc7d1171215a6/candidates.png)\n\n![Live glab output byte sizes](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fba5789fc3520159/large-output.png)\n\nThese three CLI images format captured live command output; the app captures above contain only the app\u2019s own UI.\n\n[Reproduction instructions](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/943a72763f92dadf/reproduce.md) \u00b7 [GitLab seed](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3884885f35547d4e/seed.py) \u00b7 [Twenty-MR expansion](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/668c48eb1db4f190/expand.py) \u00b7 [Large descriptions](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a648b15f240869cd/large-descriptions.py) \u00b7 [CLI capture driver](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/284a6132d01614a7/capture-candidates.py) \u00b7 [Large-response transcript](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/db8803e93b4caa6b/large-candidates-complete.txt)\n\nProof performed by gpt-6.1-sol through the Codex harness.",
  "unverified": [
    "The create-MR action\u2019s duplicate-creation/opened_existing path was not invoked; the reproduced findOpenPr effect was shown through the native push notification and its working MR #1 destination.",
    "The exact 100th-candidate boundary and matches beyond the first 100 were not exercised; fixtures contained 2 and 22 candidates.",
    "Malformed-entry paging/counting and empty-page handling were not induced because live GitLab returned valid MR entries.",
    "Removal of owner:branch probe commands was not separately traced; the resulting wider all-state lookup and capped-output paging were exercised in the real app."
  ],
  "comparisons": [
    {
      "case": "native push",
      "failsOnBase": true,
      "passesOnHead": true
    },
    {
      "case": "all-state limit beyond 20",
      "failsOnBase": true,
      "passesOnHead": true
    },
    {
      "case": "truncated output retry and paging",
      "failsOnBase": true,
      "passesOnHead": true
    }
  ]
}