$ node scripts/prove-scenario.ts scripts/scenarios/git-checkpoint-failure.e2e.ts --base c90b67859a6d85fc957f9ffe25ba95113c6479d3 --head 9d3e315a6db6db5b8029bb613184513647aa16d5 --upload-command 'ghdrop upload' ⊘ cache disabled
Scope: all 42 workspace projects
✓ Lockfile passes supply-chain policies (verified 2m ago)
Lockfile is up to date, resolution step is skipped
Packages are hard linked from the content-addressable store to the virtual store.
  Content-addressable store is at: <artifact>
  Virtual store is at:             node_modules/.pnpm
Progress: resolved 937, reused 937, downloaded 0, added 921
Progress: resolved 1460, reused 1460, downloaded 0, added 1444
Packages: +1678
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Progress: resolved 1678, reused 1674, downloaded 0, added 1678, done
Agent skills awaiting approval: e2e.
Run "pnpm approve" to review them.
. prepare$ vp config --no-agent
. prepare: Done

devDependencies:
+ @coderabbitai/config 1.2.0
+ @effect/tsgo 0.67.1
+ @shadcn/lint 0.1.5
+ @types/node 24.12.4
+ knip 6.34.0
+ vite-plus 1.4.0

Done in 4.5s using pnpm v12.14.0

 RUN  e2e v0.23.0 <artifact>
      run 01a1c9a7-d463-7d81-b9fb-21d60194efed · targets: web, ios

 ✓ target "web" command at http://127.0.0.1:43113/.well-known/t3/environment ready 7.65s
 ✓ target "ios" command at http://127.0.0.1:8190/status ready 7.28s
stdout | |web| scenarios/git-checkpoint-failure.e2e.ts > Git failures are errors while absent repositories remain missing
{"sha":"c90b67859a6d85fc957f9ffe25ba95113c6479d3","checkpoints":{"broken":[{"ordinal":0,"status":"missing","files":"[]"},{"ordinal":1,"status":"missing","files":"[]"}],"plain":[{"ordinal":0,"status":"missing","files":"[]"},{"ordinal":1,"status":"missing","files":"[]"}],"healthy":[{"ordinal":0,"status":"ready","files":"[]"},{"ordinal":1,"status":"ready","files":"[]"}]},"probeWarningCount":0}
   × |web| scenarios/git-checkpoint-failure.e2e.ts > Git failures are errors while absent repositories remain missing 29.58s
     → expected ["missing","missing"] to equal ["error","error"]
 ❯ |web| scenarios/git-checkpoint-failure.e2e.ts (1 test | 1 failed) 29.58s

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯

 FAIL  |web| scenarios/git-checkpoint-failure.e2e.ts > Git failures are errors while absent repositories remain missing
ASSERTION_FAILED: expected ["missing","missing"] to equal ["error","error"]
 ❯ scenarios/git-checkpoint-failure.e2e.ts:32:33
     30|   await app.screenshot("completed-broken-repository-turn");
     31|   console.log(JSON.stringify({ sha, checkpoints: results, probeWarnin…
     32|   await expect(statuses.broken).toEqual(["error", "error"]);
       |                                 ^
     33|   await expect(statuses.plain).toEqual(["missing", "missing"]);
     34|   await expect(statuses.healthy).toEqual(["ready", "ready"]);
 ❯ at http://127.0.0.1:43113/903e23a0-8826-47f7-b713-aeabf970dae4/mcp%3A16f70fe5-f0eb-4fb7-ac4a-7540c800c6d8
 ❯ app 1 warning logged
 ❯ trace .e2e/prove/base/results/git-checkpoint-failure-git-failures-are-errors-while-67bfa70dd2a1b83e/trace.md
 ❯ video .e2e/prove/base/results/git-checkpoint-failure-git-failures-are-errors-while-67bfa70dd2a1b83e/attempt-1/video/video.webm

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯


 Test Files  1 failed | 0 passed (1)
      Tests  1 failed | 0 passed (1)
   Start at  08:09:42
   Duration  45.40s (startup 14.93s)
     Traces  .e2e/prove/base/results/ (1 page, trace.md in each test's directory)
Screenshots  .e2e/prove/base/results/git-checkpoint-failure-git-failures-are-errors-while-67bfa70dd2a1b83e/attempt-1/screenshots/001-completed-broken-repository-turn.png

   Markdown  .e2e/prove/base/summary.md

     Failed  × |web| scenarios/git-checkpoint-failure.e2e.ts:32 > Git failures are errors while absent repositories remain missing
               ASSERTION_FAILED: expected ["missing","missing"] to equal ["error","error"]
               trace .e2e/prove/base/results/git-checkpoint-failure-git-failures-are-errors-while-67bfa70dd2a1b83e/trace.md

Scope: all 42 workspace projects
✓ Lockfile passes supply-chain policies (verified 3m ago)
Lockfile is up to date, resolution step is skipped
Packages are hard linked from the content-addressable store to the virtual store.
  Content-addressable store is at: <artifact>
  Virtual store is at:             node_modules/.pnpm
Progress: resolved 826, reused 826, downloaded 0, added 811
Progress: resolved 1217, reused 1217, downloaded 0, added 1202
Progress: resolved 1646, reused 1646, downloaded 0, added 1637
Packages: +1678
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Progress: resolved 1678, reused 1674, downloaded 0, added 1678, done
Agent skills awaiting approval: e2e.
Run "pnpm approve" to review them.
. prepare$ vp config --no-agent
. prepare: Done

devDependencies:
+ @coderabbitai/config 1.2.0
+ @effect/tsgo 0.67.1
+ @shadcn/lint 0.1.5
+ @types/node 24.12.4
+ knip 6.34.0
+ vite-plus 1.4.0

Done in 5.5s using pnpm v12.14.0

 RUN  e2e v0.23.0 <artifact>
      run 01a1c9a8-c678-7fb3-b0bb-70fcea9076e2 · targets: web, ios

 ✓ target "web" command at http://127.0.0.1:44219/.well-known/t3/environment ready 6.66s
 ✓ target "ios" command at http://127.0.0.1:8190/status ready 9.66s
stdout | |web| scenarios/git-checkpoint-failure.e2e.ts > Git failures are errors while absent repositories remain missing
{"sha":"9d3e315a6db6db5b8029bb613184513647aa16d5","checkpoints":{"broken":[{"ordinal":0,"status":"error","files":"[]"},{"ordinal":1,"status":"error","files":"[]"}],"plain":[{"ordinal":0,"status":"missing","files":"[]"},{"ordinal":1,"status":"missing","files":"[]"}],"healthy":[{"ordinal":0,"status":"ready","files":"[]"},{"ordinal":1,"status":"ready","files":"[]"}]},"probeWarningCount":2}
   ✓ |web| scenarios/git-checkpoint-failure.e2e.ts > Git failures are errors while absent repositories remain missing 32.70s
 ✓ |web| scenarios/git-checkpoint-failure.e2e.ts (1 test) 32.70s

 Test Files  1 passed (1)
      Tests  1 passed (1)
   Start at  08:10:44
   Duration  50.23s (startup 16.32s)
     Traces  .e2e/prove/head/results/ (1 page, trace.md in each test's directory)
Screenshots  .e2e/prove/head/results/git-checkpoint-failure-git-failures-are-errors-while-67bfa70dd2a1b83e/attempt-1/screenshots/001-completed-broken-repository-turn.png

   Markdown  .e2e/prove/head/summary.md

{
  "scenario": "Git failures are errors while absent repositories remain missing",
  "failsOnBase": true,
  "passesOnHead": true,
  "baseSha": "c90b67859a6d85fc957f9ffe25ba95113c6479d3",
  "headSha": "9d3e315a6db6db5b8029bb613184513647aa16d5",
  "verdict": "Proven: the scenario fails on base `c90b67859a` and passes on head `9d3e315a6d`.",
  "steps": {
    "base": [
      {
        "step": "app.open <pairing link>",
        "status": "passed"
      },
      {
        "step": "locator.tap getByRole(\"button\", name: \"broken Git checkpoint proof, Done, broken-repository\")",
        "status": "passed"
      },
      {
        "step": "app.screenshot completed-broken-repository-turn",
        "status": "passed"
      }
    ],
    "head": [
      {
        "step": "app.open <pairing link>",
        "status": "passed"
      },
      {
        "step": "locator.tap getByRole(\"button\", name: \"broken Git checkpoint proof, Done, broken-repository\")",
        "status": "passed"
      },
      {
        "step": "app.screenshot completed-broken-repository-turn",
        "status": "passed"
      }
    ]
  },
  "captures": [
    "<artifact>",
    "<artifact>",
    "<artifact>"
  ],
  "videos": [
    "<artifact>",
    "<artifact>"
  ],
  "markdown": "### Scenario: Git failures are errors while absent repositories remain missing\n\n**Proven: the scenario fails on base `c90b67859a` and passes on head `9d3e315a6d`.**\n\n|  | Base `c90b67859a` | Head `9d3e315a6d` |\n| --- | --- | --- |\n| Result | ❌ failed<br>ASSERTION_FAILED: expected [\"missing\",\"missing\"] to equal [\"error\",\"error\"] | ✅ passed |\n| completed broken repository turn | ![Base c90b67859a: completed broken repository turn](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/64af3359c3038ce3/001-completed-broken-repository-turn.png) | ![Head 9d3e315a6d: completed broken repository turn](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d602356d5070ddee/001-completed-broken-repository-turn.png) |\n| failure | ![Base c90b67859a: failure](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1bbd1e0fa83a628f/002-failure.png) |  |\n",
  "base": {
    "sha": "c90b67859a6d85fc957f9ffe25ba95113c6479d3",
    "status": "failed",
    "title": "Git failures are errors while absent repositories remain missing",
    "message": "ASSERTION_FAILED: expected [\"missing\",\"missing\"] to equal [\"error\",\"error\"]",
    "steps": [
      {
        "step": "app.open <pairing link>",
        "status": "passed"
      },
      {
        "step": "locator.tap getByRole(\"button\", name: \"broken Git checkpoint proof, Done, broken-repository\")",
        "status": "passed"
      },
      {
        "step": "app.screenshot completed-broken-repository-turn",
        "status": "passed"
      }
    ],
    "captures": [
      "<artifact>",
      "<artifact>"
    ],
    "videos": [
      "<artifact>"
    ]
  },
  "head": {
    "sha": "9d3e315a6db6db5b8029bb613184513647aa16d5",
    "status": "passed",
    "title": "Git failures are errors while absent repositories remain missing",
    "steps": [
      {
        "step": "app.open <pairing link>",
        "status": "passed"
      },
      {
        "step": "locator.tap getByRole(\"button\", name: \"broken Git checkpoint proof, Done, broken-repository\")",
        "status": "passed"
      },
      {
        "step": "app.screenshot completed-broken-repository-turn",
        "status": "passed"
      }
    ],
    "captures": [
      "<artifact>"
    ],
    "videos": [
      "<artifact>"
    ]
  }
}

