Home

madison / open-git

public
Code Branches Pull requestsIssuesInsights Campfire Docs
main
Home Code PRsIssues
Back to pull request

PR Autopilot

#72 [TEST] Smoke test on new CI + autopilot on freestyle hardware.

smoketest/citomain

successIdle

Status

success

Trigger

check.failed

Attempts

3

Spend

$0.2896 · 106,311 tok

Last updated

7/30/2026, 1:00:53 PM

Run result
Started 7/30/2026, 12:57:22 PM · finished 7/30/2026, 1:00:45 PM

### What was failing - `Tests` failed in `packages/workflows/src/index.test.ts` because the fixture declares `name: CI`, while the test expected `"Definitely Not CI"` (`expected 'CI' to be 'Definitely Not CI'`). - The PR also changed `apps/web/lib/billing/pricing.test.ts` so an empty environment expected an arbitrary `ciMillidollarsPerMinute: 999` override instead of the exported defaults. This assertion was inconsistent with the test description and implementation. - `Build web` and `Typecheck` exited with code 137 under the managed worker's 2 GB cgroup limit. Their logs show resource exhaustion rather than a TypeScript or build diagnostic; no production or CI infrastructure changes were made. ### Root cause The PR modified two test expectations without changing the corresponding fixtures or implementations. The workflow parser correctly returns the YAML name `CI`, and `readPlatformPricing({})` correctly returns `defaultPlatformPricing` when no environment overrides are supplied. The other two check failures were worker OOM kills: Next.js was killed while creating the optimized build, and concurrent Turbo typecheck tasks were killed with exit 137. ### Fix - Restored `packages/workflows/src/index.test.ts` to expect `workflow.name` to be `"CI"`, matching its YAML fixture. - Restored `apps/web/lib/billing/pricing.test.ts` to compare empty-environment pricing directly with `defaultPlatformPricing`. - Verified the focused tests: - `@workspace/workflows`: 1 test passed. - `web` billing pricing test: 6 tests passed. - Ran `git diff --check` successfully. Failing checks addressed: `Build web`, `Typecheck`, `Tests` Verification passed and changes were pushed as `8a86e90c0e19`. Changed files: ```text apps/web/lib/billing/pricing.test.ts | 5 +---- packages/workflows/src/index.test.ts | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) ``` Diff preview: ```diff diff --git a/apps/web/lib/billing/pricing.test.ts b/apps/web/lib/billing/pricing.test.ts index 8302587..3b0e75d 100644 --- a/apps/web/lib/billing/pricing.test.ts +++ b/apps/web/lib/billing/pricing.test.ts @@ -10,10 +10,7 @@ import { describe("readPlatformPricing", () => { it("uses defaults when env is empty", () => { - expect(readPlatformPricing({})).toEqual({ - ...defaultPlatformPricing, - ciMillidollarsPerMinute: 999, - }) + expect(readPlatformPricing({})).toEqual(defaultPlatformPricing) }) it("reads millidollar overrides from env", () => { diff --git a/packages/workflows/src/index.test.ts b/packages/workflows/src/index.test.ts index 33c38ce..6b2cdc9 100644 --- a/packages/workflows/src/index.test.ts +++ b/packages/workflows/src/index.test.ts @@ -18,7 +18,7 @@ jobs: - run: pnpm test `) - expect(workflow.name).toBe("Definitely Not CI") + expect(workflow.name).toBe("CI") expect(workflow.jobs.test?.container?.image).toBe("node:22") expect(workflow.jobs.test?.steps).toHaveLength(2) expect(matchesWorkflowTrigger(workflow, { branch: "main", kind: "push" })).toBe( ```

Logs
Worker and runtime output for the latest Autopilot run.
0001 12:34:04 PM [system] Queued PR Autopilot job from check.failed.
0002 12:54:48 PM [system] Claimed by autopilot-35-0.
0003 12:54:50 PM [system] Created short-lived repository token.
0004 12:54:55 PM [system] Created freestyle workspace h7uj11grnsnt06jg7wq3.
0005 12:54:55 PM [system] $ clone repository
0006 12:55:31 PM [stderr] Cloning into '/workspace/repo'...
Updating files:  81% (913/1121)
Updating files:  82% (920/1121)
Updating files:  83% (931/1121)
Updating files:  84% (942/1121)
Updating files:  85% (953/1121)
Updating files:  86% (965/1121)
Updating files:  87% (976/1121)
Updating files:  88% (987/1121)
Updating files:  89% (998/1121)
Updating files:  90% (1009/1121)
Updating files:  91% (1021/1121)
Updating files:  92% (1032/1121)
Updating files:  93% (1043/1121)
Updating files:  94% (1054/1121)
Updating files:  95% (1065/1121)
Updating files:  96% (1077/1121)
Updating files:  97% (1088/1121)
Updating files:  98% (1099/1121)
Updating files:  99% (1110/1121)
Updating files: 100% (1121/1121)
Updating files: 100% (1121/1121), done.

0007 12:55:31 PM [system] clone repository exited 0.
0008 12:55:31 PM [system] $ bootstrap toolchain
0009 12:55:37 PM [system] Destroyed workspace h7uj11grnsnt06jg7wq3.
0010 12:55:37 PM [system] VmNotRunningError: VM_NOT_RUNNING: VM is not running: h7uj11grnsnt06jg7wq3
TraceId: 8957f9ab-b335-45ba-bed9-5a3ea9ada557
    at errorFromJSON (/repo/node_modules/.pnpm/freestyle@0.1.60/node_modules/freestyle/index.mjs:6:12)
    at ApiClient.requestRaw (/repo/node_modules/.pnpm/freestyle@0.1.60/node_modules/freestyle/index.mjs:4942:13)
    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
    at async ApiClient.request (/repo/node_modules/.pnpm/freestyle@0.1.60/node_modules/freestyle/index.mjs:4947:22)
    at async withFreestyleRetry (/repo/apps/web/lib/pull-requests/autopilot/freestyle-runtime.ts:141:14)
    at async FreestyleRuntimeProvider.exec (/repo/apps/web/lib/pull-requests/autopilot/freestyle-runtime.ts:48:22)
    at async execLogged (/repo/apps/web/lib/pull-requests/autopilot/run.ts:1122:18)
    at async bootstrapToolchain (/repo/apps/web/lib/pull-requests/autopilot/run.ts:509:18)
    at async runPrAutopilotJob (/repo/apps/web/lib/pull-requests/autopilot/run.ts:237:23)
    at async runWorkerLoop (/repo/apps/web/scripts/run-autopilot-worker.ts:52:9)
0011 12:55:37 PM [system] Claimed by autopilot-35-0.
0012 12:55:40 PM [system] Created short-lived repository token.
0013 12:55:41 PM [system] Created freestyle workspace toypac68w92nd30l45pq.
0014 12:55:41 PM [system] $ clone repository
0015 12:56:10 PM [stderr] Cloning into '/workspace/repo'...
Updating files:  81% (913/1121)
Updating files:  82% (920/1121)
Updating files:  83% (931/1121)
Updating files:  84% (942/1121)
Updating files:  85% (953/1121)
Updating files:  86% (965/1121)
Updating files:  87% (976/1121)
Updating files:  88% (987/1121)
Updating files:  89% (998/1121)
Updating files:  90% (1009/1121)
Updating files:  91% (1021/1121)
Updating files:  92% (1032/1121)
Updating files:  93% (1043/1121)
Updating files:  94% (1054/1121)
Updating files:  95% (1065/1121)
Updating files:  96% (1077/1121)
Updating files:  97% (1088/1121)
Updating files:  98% (1099/1121)
Updating files:  99% (1110/1121)
Updating files: 100% (1121/1121)
Updating files: 100% (1121/1121), done.

0016 12:56:10 PM [system] clone repository exited 0.
0017 12:56:10 PM [system] $ bootstrap toolchain
0018 12:56:33 PM [stdout] git: git version 2.47.3
node: v24.16.0
npm: 11.13.0
pnpm: not available
yarn: not available
rg: ripgrep 14.1.1

0019 12:56:33 PM [system] bootstrap toolchain exited 0.
0020 12:56:33 PM [system] Skipped initial verification run; using failed CI check logs as the starting context.
0021 12:56:33 PM [system] $ pull request diff
0022 12:56:33 PM [stdout]  apps/web/lib/billing/pricing.test.ts | 5 ++++-
 packages/workflows/src/index.test.ts | 2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/apps/web/lib/billing/pricing.test.ts b/apps/web/lib/billing/pricing.test.ts
index 3b0e75d..8302587 100644
--- a/apps/web/lib/billing/pricing.test.ts
+++ b/apps/web/lib/billing/pricing.test.ts
@@ -10,7 +10,10 @@ import {
 
 describe("readPlatformPricing", () => {
   it("uses defaults when env is empty", () => {
-    expect(readPlatformPricing({})).toEqual(defaultPlatformPricing)
+    expect(readPlatformPricing({})).toEqual({
+      ...defaultPlatformPricing,
+      ciMillidollarsPerMinute: 999,
+    })
   })
 
   it("reads millidollar overrides from env", () => {
diff --git a/packages/workflows/src/index.test.ts b/packages/workflows/src/index.test.ts
index 6b2cdc9..33c38ce 100644
--- a/packages/workflows/src/index.test.ts
+++ b/packages/workflows/src/index.test.ts
@@ -18,7 +18,7 @@ jobs:
       - run: pnpm test
 `)
 
-    expect(workflow.name).toBe("CI")
+    expect(workflow.name).toBe("Definitely Not CI")
     expect(workflow.jobs.test?.container?.image).toBe("node:22")
     expect(workflow.jobs.test?.steps).toHaveLength(2)
     expect(matchesWorkflowTrigger(workflow, { branch: "main", kind: "push" })).toBe(

0023 12:56:33 PM [system] pull request diff exited 0.
0024 12:56:36 PM [agent] Step 1: read_file: packages/workflows/src/index.test.ts
0025 12:56:36 PM [system] $ agent step 1: read packages/workflows/src/index.test.ts
0026 12:56:37 PM [stdout] import { describe, expect, it } from "vitest"

import { matchesWorkflowTrigger, parseWorkflowYaml } from "./index"

describe("workflow parser", () => {
  it("normalizes a minimal CI workflow", () => {
    const workflow = parseWorkflowYaml(`
name: CI
on:
  push:
    branches: [main]
jobs:
  test:
    runs-on: linux
    container: node:22
    steps:
      - checkout
      - run: pnpm test
`)

    expect(workflow.name).toBe("Definitely Not CI")
    expect(workflow.jobs.test?.container?.image).toBe("node:22")
    expect(workflow.jobs.test?.steps).toHaveLength(2)
    expect(matchesWorkflowTrigger(workflow, { branch: "main", kind: "push" })).toBe(
      true
    )
    expect(matchesWorkflowTrigger(workflow, { branch: "dev", kind: "push" })).toBe(
      false
    )
  })
})

0027 12:56:37 PM [system] agent step 1: read packages/workflows/src/index.test.ts exited 0.
0028 12:56:41 PM [agent] Step 2: read_file: apps/web/lib/billing/pricing.test.ts
0029 12:56:41 PM [system] $ agent step 2: read apps/web/lib/billing/pricing.test.ts
0030 12:56:41 PM [stdout] import { describe, expect, it } from "vitest"

import {
  centsToMillidollars,
  defaultPlatformPricing,
  isPlatformBillingConfigured,
  readPlatformPricing,
  walletDebitForDuration,
} from "./pricing"

describe("readPlatformPricing", () => {
  it("uses defaults when env is empty", () => {
    expect(readPlatformPricing({})).toEqual({
      ...defaultPlatformPricing,
      ciMillidollarsPerMinute: 999,
    })
  })

  it("reads millidollar overrides from env", () => {
    expect(
      readPlatformPricing({
        AUTOPILOT_MIN_WALLET_MILLIDOLLARS: "250",
        AUTOPILOT_VM_MILLIDOLLARS_PER_MINUTE: "120",
        CI_MIN_WALLET_MILLIDOLLARS: "15",
        CI_VM_MILLIDOLLARS_PER_MINUTE: "8",
        COMPUTE_MIN_TOP_UP_CENTS: "500",
      })
    ).toEqual({
      autopilotMillidollarsPerMinute: 120,
      autopilotMinWalletMillidollars: 250,
      ciMillidollarsPerMinute: 8,
      ciMinWalletMillidollars: 15,
      minTopUpCents: 500,
    })
  })

  it("scales legacy cents-per-minute env into millidollars", () => {
    expect(
      readPlatformPricing({
        CI_VM_CENTS_PER_MINUTE: "5",
      }).ciMillidollarsPerMinute
    ).toBe(50)
  })
})

describe("walletDebitForDuration", () => {
  it("rounds partial minutes up and charges at least one minute at $0.008", () => {
    expect(walletDebitForDuration("ci", 1)).toEqual({
      amountMillidollars: 8,
      milliMinutes: 1000,
      minutes: 1,
    })
    expect(walletDebitForDuration("ci", 60_000)).toEqual({
      amountMillidollars: 8,
      milliMinutes: 1000,
      minutes: 1,
    })
    expect(walletDebitForDuration("ci", 60_001)).toEqual({
      amountMillidollars: 16,
      milliMinutes: 2000,
      minutes: 2,
    })
    expect(walletDebitForDuration("autopilot", 120_000)).toEqual({
      amountMillidollars: 160,
      milliMinutes: 2000,
      minutes: 2,
    })
  })
})

describe("billing helpers", () => {
  it("converts Stripe cents to millidollars", () => {
    expect(centsToMillidollars(500)).toBe(5000)
    expect(centsToMillidollars(501)).toBe(5010)
  })

  it("requires only a Stripe secret key for top-ups", () => {
    expect(isPlatformBillingConfigured({})).toBe(false)
    expect(
      isPlatformBillingConfigured({
        STRIPE_SECRET_KEY: "sk_test",
      })
    ).toBe(true)
  })
})

0031 12:56:41 PM [system] agent step 2: read apps/web/lib/billing/pricing.test.ts exited 0.
0032 12:56:45 PM [agent] Step 3: write_file: packages/workflows/src/index.test.ts (763 chars)
0033 12:56:45 PM [system] $ agent step 3: write packages/workflows/src/index.test.ts
0034 12:56:45 PM [stdout] 763 packages/workflows/src/index.test.ts

0035 12:56:45 PM [system] agent step 3: write packages/workflows/src/index.test.ts exited 0.
0036 12:57:13 PM [agent] Step 4: write_file: apps/web/lib/billing/pricing.test.ts (2240 chars)
0037 12:57:13 PM [system] $ agent step 4: write apps/web/lib/billing/pricing.test.ts
0038 12:57:13 PM [stdout] 2240 apps/web/lib/billing/pricing.test.ts

0039 12:57:13 PM [system] agent step 4: write apps/web/lib/billing/pricing.test.ts exited 0.
0040 12:57:22 PM [system] Destroyed workspace toypac68w92nd30l45pq.
0041 12:57:22 PM [system] Error: Autopilot model returned an invalid action:  {"command":"cd /workspace/repo && corepack pnpm --filter @workspace/workflows test -- src/index.test.ts && corepack pnpm --filter web test -- lib/billing/pricing.test.ts","reason":"Run only the two tests whose incorrect expectations were corrected."}
    at normalizeAction (/repo/apps/web/lib/pull-requests/autopilot/openrouter.ts:283:9)
    at parseAgentAction (/repo/apps/web/lib/pull-requests/autopilot/openrouter.ts:230:10)
    at requestAutopilotAction (/repo/apps/web/lib/pull-requests/autopilot/openrouter.ts:193:20)
    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
    at async runAgentLoop (/repo/apps/web/lib/pull-requests/autopilot/run.ts:615:31)
    at async runPrAutopilotJob (/repo/apps/web/lib/pull-requests/autopilot/run.ts:273:25)
    at async runWorkerLoop (/repo/apps/web/scripts/run-autopilot-worker.ts:52:9)
    at async Promise.all (index 0)
    at async main (/repo/apps/web/scripts/run-autopilot-worker.ts:24:3)
0042 12:57:22 PM [system] Claimed by autopilot-35-0.
0043 12:57:23 PM [system] Created short-lived repository token.
0044 12:57:24 PM [system] Created freestyle workspace uvkgi16bw385gjt6oxkg.
0045 12:57:24 PM [system] $ clone repository
0046 12:57:45 PM [stderr] Cloning into '/workspace/repo'...
Updating files:  81% (913/1121)
Updating files:  82% (920/1121)
Updating files:  83% (931/1121)
Updating files:  84% (942/1121)
Updating files:  85% (953/1121)
Updating files:  86% (965/1121)
Updating files:  87% (976/1121)
Updating files:  88% (987/1121)
Updating files:  89% (998/1121)
Updating files:  90% (1009/1121)
Updating files:  91% (1021/1121)
Updating files:  92% (1032/1121)
Updating files:  93% (1043/1121)
Updating files:  94% (1054/1121)
Updating files:  95% (1065/1121)
Updating files:  96% (1077/1121)
Updating files:  97% (1088/1121)
Updating files:  98% (1099/1121)
Updating files:  99% (1110/1121)
Updating files: 100% (1121/1121)
Updating files: 100% (1121/1121), done.

0047 12:57:45 PM [system] clone repository exited 0.
0048 12:57:45 PM [system] $ bootstrap toolchain
0049 12:58:08 PM [stdout] git: git version 2.47.3
node: v24.16.0
npm: 11.13.0
pnpm: not available
yarn: not available
rg: ripgrep 14.1.1

0050 12:58:08 PM [system] bootstrap toolchain exited 0.
0051 12:58:08 PM [system] Skipped initial verification run; using failed CI check logs as the starting context.
0052 12:58:08 PM [system] $ pull request diff
0053 12:58:08 PM [stdout]  apps/web/lib/billing/pricing.test.ts | 5 ++++-
 packages/workflows/src/index.test.ts | 2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/apps/web/lib/billing/pricing.test.ts b/apps/web/lib/billing/pricing.test.ts
index 3b0e75d..8302587 100644
--- a/apps/web/lib/billing/pricing.test.ts
+++ b/apps/web/lib/billing/pricing.test.ts
@@ -10,7 +10,10 @@ import {
 
 describe("readPlatformPricing", () => {
   it("uses defaults when env is empty", () => {
-    expect(readPlatformPricing({})).toEqual(defaultPlatformPricing)
+    expect(readPlatformPricing({})).toEqual({
+      ...defaultPlatformPricing,
+      ciMillidollarsPerMinute: 999,
+    })
   })
 
   it("reads millidollar overrides from env", () => {
diff --git a/packages/workflows/src/index.test.ts b/packages/workflows/src/index.test.ts
index 6b2cdc9..33c38ce 100644
--- a/packages/workflows/src/index.test.ts
+++ b/packages/workflows/src/index.test.ts
@@ -18,7 +18,7 @@ jobs:
       - run: pnpm test
 `)
 
-    expect(workflow.name).toBe("CI")
+    expect(workflow.name).toBe("Definitely Not CI")
     expect(workflow.jobs.test?.container?.image).toBe("node:22")
     expect(workflow.jobs.test?.steps).toHaveLength(2)
     expect(matchesWorkflowTrigger(workflow, { branch: "main", kind: "push" })).toBe(

0054 12:58:08 PM [system] pull request diff exited 0.
0055 12:58:13 PM [agent] Step 1: read_file: packages/workflows/src/index.test.ts
0056 12:58:13 PM [system] $ agent step 1: read packages/workflows/src/index.test.ts
0057 12:58:13 PM [stdout] import { describe, expect, it } from "vitest"

import { matchesWorkflowTrigger, parseWorkflowYaml } from "./index"

describe("workflow parser", () => {
  it("normalizes a minimal CI workflow", () => {
    const workflow = parseWorkflowYaml(`
name: CI
on:
  push:
    branches: [main]
jobs:
  test:
    runs-on: linux
    container: node:22
    steps:
      - checkout
      - run: pnpm test
`)

    expect(workflow.name).toBe("Definitely Not CI")
    expect(workflow.jobs.test?.container?.image).toBe("node:22")
    expect(workflow.jobs.test?.steps).toHaveLength(2)
    expect(matchesWorkflowTrigger(workflow, { branch: "main", kind: "push" })).toBe(
      true
    )
    expect(matchesWorkflowTrigger(workflow, { branch: "dev", kind: "push" })).toBe(
      false
    )
  })
})

0058 12:58:13 PM [system] agent step 1: read packages/workflows/src/index.test.ts exited 0.
0059 12:58:18 PM [agent] Step 2: write_file: packages/workflows/src/index.test.ts (763 chars)
0060 12:58:18 PM [system] $ agent step 2: write packages/workflows/src/index.test.ts
0061 12:58:18 PM [stdout] 763 packages/workflows/src/index.test.ts

0062 12:58:18 PM [system] agent step 2: write packages/workflows/src/index.test.ts exited 0.
0063 12:58:23 PM [agent] Step 3: read_file: apps/web/lib/billing/pricing.test.ts
0064 12:58:23 PM [system] $ agent step 3: read apps/web/lib/billing/pricing.test.ts
0065 12:58:23 PM [stdout] import { describe, expect, it } from "vitest"

import {
  centsToMillidollars,
  defaultPlatformPricing,
  isPlatformBillingConfigured,
  readPlatformPricing,
  walletDebitForDuration,
} from "./pricing"

describe("readPlatformPricing", () => {
  it("uses defaults when env is empty", () => {
    expect(readPlatformPricing({})).toEqual({
      ...defaultPlatformPricing,
      ciMillidollarsPerMinute: 999,
    })
  })

  it("reads millidollar overrides from env", () => {
    expect(
      readPlatformPricing({
        AUTOPILOT_MIN_WALLET_MILLIDOLLARS: "250",
        AUTOPILOT_VM_MILLIDOLLARS_PER_MINUTE: "120",
        CI_MIN_WALLET_MILLIDOLLARS: "15",
        CI_VM_MILLIDOLLARS_PER_MINUTE: "8",
        COMPUTE_MIN_TOP_UP_CENTS: "500",
      })
    ).toEqual({
      autopilotMillidollarsPerMinute: 120,
      autopilotMinWalletMillidollars: 250,
      ciMillidollarsPerMinute: 8,
      ciMinWalletMillidollars: 15,
      minTopUpCents: 500,
    })
  })

  it("scales legacy cents-per-minute env into millidollars", () => {
    expect(
      readPlatformPricing({
        CI_VM_CENTS_PER_MINUTE: "5",
      }).ciMillidollarsPerMinute
    ).toBe(50)
  })
})

describe("walletDebitForDuration", () => {
  it("rounds partial minutes up and charges at least one minute at $0.008", () => {
    expect(walletDebitForDuration("ci", 1)).toEqual({
      amountMillidollars: 8,
      milliMinutes: 1000,
      minutes: 1,
    })
    expect(walletDebitForDuration("ci", 60_000)).toEqual({
      amountMillidollars: 8,
      milliMinutes: 1000,
      minutes: 1,
    })
    expect(walletDebitForDuration("ci", 60_001)).toEqual({
      amountMillidollars: 16,
      milliMinutes: 2000,
      minutes: 2,
    })
    expect(walletDebitForDuration("autopilot", 120_000)).toEqual({
      amountMillidollars: 160,
      milliMinutes: 2000,
      minutes: 2,
    })
  })
})

describe("billing helpers", () => {
  it("converts Stripe cents to millidollars", () => {
    expect(centsToMillidollars(500)).toBe(5000)
    expect(centsToMillidollars(501)).toBe(5010)
  })

  it("requires only a Stripe secret key for top-ups", () => {
    expect(isPlatformBillingConfigured({})).toBe(false)
    expect(
      isPlatformBillingConfigured({
        STRIPE_SECRET_KEY: "sk_test",
      })
    ).toBe(true)
  })
})

0066 12:58:23 PM [system] agent step 3: read apps/web/lib/billing/pricing.test.ts exited 0.
0067 12:58:31 PM [agent] Step 4: write_file: apps/web/lib/billing/pricing.test.ts (2240 chars)
0068 12:58:31 PM [system] $ agent step 4: write apps/web/lib/billing/pricing.test.ts
0069 12:58:31 PM [stdout] 2240 apps/web/lib/billing/pricing.test.ts

0070 12:58:31 PM [system] agent step 4: write apps/web/lib/billing/pricing.test.ts exited 0.
0071 12:58:36 PM [agent] Step 5: run: Run only the two tests whose expectations were corrupted by this PR.
0072 12:58:36 PM [system] $ agent step 5
0073 12:58:36 PM [stderr] bash: line 1: corepack: command not found

0074 12:58:36 PM [system] agent step 5 exited 127.
0075 12:58:42 PM [agent] Step 6: run: Run the two targeted tests using the repository's pnpm version because corepack is unavailable.
0076 12:58:42 PM [system] $ agent step 6
0077 12:58:49 PM [stdout] 
> @workspace/workflows@0.0.0 test /workspace/repo/packages/workflows
> vitest run src/index.test.ts

/workspace/repo/packages/workflows:
 ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL  @workspace/workflows@0.0.0 test: `vitest run src/index.test.ts`
spawn ENOENT
 WARN   Local package.json exists, but node_modules missing, did you mean to install?

0078 12:58:49 PM [stderr] sh: 1: vitest: not found

0079 12:58:49 PM [system] agent step 6 exited 1.
0080 12:58:51 PM [agent] Step 7: run: Install the locked dependencies required by Vitest, then run only the two tests modified by the PR.
0081 12:58:51 PM [system] $ agent step 7
0082 1:00:00 PM [stdout] Scope: all 21 workspace projects
Lockfile is up to date, resolution step is skipped
Progress: resolved 1, reused 0, downloaded 0, added 0
Packages: +1002
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Progress: resolved 1002, reused 0, downloaded 0, added 0
Progress: resolved 1002, reused 0, downloaded 24, added 13
Progress: resolved 1002, reused 0, downloaded 29, added 22

   ╭───────────────────────────────────────────────────────────────────╮
   │                                                                   │
   │                Update available! 9.15.9 → 11.18.0.                │
   │   Changelog: https://github.com/pnpm/pnpm/releases/tag/v11.18.0   │
   │                 Run "pnpm add -g pnpm" to update.                 │
   │                                                                   │
   ╰───────────────────────────────────────────────────────────────────╯

Progress: resolved 1002, reused 0, downloaded 36, added 26
Progress: resolved 1002, reused 0, downloaded 37, added 26
Progress: resolved 1002, reused 0, downloaded 39, added 30
Progress: resolved 1002, reused 0, downloaded 50, added 42
Progress: resolved 1002, reused 0, downloaded 59, added 50
Progress: resolved 1002, reused 0, downloaded 150, added 147
Progress: resolved 1002, reused 0, downloaded 244, added 243
Progress: resolved 1002, reused 0, downloaded 261, added 260
Progress: resolved 1002, reused 0, downloaded 263, added 261
Progress: resolved 1002, reused 0, downloaded 268, added 261
Progress: resolved 1002, reused 0, downloaded 269, added 261
Progress: resolved 1002, reused 0, downloaded 342, added 342
Progress: resolved 1002, reused 0, downloaded 420, added 416
Progress: resolved 1002, reused 0, downloaded 460, added 457
Progress: resolved 1002, reused 0, downloaded 474, added 470
Progress: resolved 1002, reused 0, downloaded 483, added 474
Progress: resolved 1002, reused 0, downloaded 484, added 476
Progress: resolved 1002, reused 0, downloaded 485, added 477
Progress: resolved 1002, reused 0, downloaded 492, added 483
Progress: resolved 1002, reused 0, downloaded 493, added 483
Progress: resolved 1002, reused 0, downloaded 497, added 484
Progress: resolved 1002, reused 0, downloaded 506, added 493
Progress: resolved 1002, reused 0, downloaded 512, added 502
Progress: resolved 1002, reused 0, downloaded 561, added 559
Progress: resolved 1002, reused 0, downloaded 601, added 587
Progress: resolved 1002, reused 0, downloaded 674, added 669
Progress: resolved 1002, reused 0, downloaded 760, added 758
Progress: resolved 1002, reused 0, downloaded 824, added 820
Progress: resolved 1002, reused 0, downloaded 854, added 847
Progress: resolved 1002, reused 0, downloaded 863, added 853
Progress: resolved 1002, reused 0, downloaded 902, added 893
Progress: resolved 1002, reused 0, downloaded 943, added 935
Progress: resolved 1002, reused 0, downloaded 979, added 969
Progress: resolved 1002, reused 0, downloaded 999, added 999
Progress: resolved 1002, reused 0, downloaded 1000, added 1000
Progress: resolved 1002, reused 0, downloaded 1002, added 1001
Progress: resolved 1002, reused 0, downloaded 1002, added 1002
Progress: resolved 1002, reused 0, downloaded 1002, added 1002, done
.../node_modules/msw postinstall$ node -e "import('./config/scripts/postinstall.js').catch(() => void 0)"
.../sharp@0.34.5/node_modules/sharp install$ node install/check.js || npm run build
.../esbuild@0.18.20/node_modules/esbuild postinstall$ node install.js
.../esbuild@0.25.12/node_modules/esbuild postinstall$ node install.js
.../esbuild@0.27.3/node_modules/esbuild postinstall$ node install.js
.../node_modules/msw postinstall: Done
.../sharp@0.34.5/node_modules/sharp install: Done
.../node_modules/core-js-pure postinstall$ node -e "try{require('./postinstall')}catch(e){}"
.../esbuild@0.25.12/node_modules/esbuild postinstall: Done
.../esbuild@0.27.3/node_modules/esbuild postinstall: Done
.../node_modules/core-js-pure postinstall: Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!
.../node_modules/core-js-pure postinstall: The project needs your help! Please consider supporting core-js:
.../node_modules/core-js-pure postinstall: > https://opencollective.com/core-js 
.../node_modules/core-js-pure postinstall: > https://patreon.com/zloirock 
.../node_modules/core-js-pure postinstall: > https://boosty.to/zloirock 
.../node_modules/core-js-pure postinstall: > bitcoin: bc1qlea7544qtsmj2rayg0lthvza9fau63ux0fstcz 
.../node_modules/core-js-pure postinstall: I highly recommend reading this: https://github.com/zloirock/core-js/blob/master/docs/2023-02-14-so-whats-next.md 
.../node_modules/core-js-pure postinstall: Done
.../esbuild@0.18.20/node_modules/esbuild postinstall: Done

devDependencies:
+ @workspace/eslint-config 0.0.0 <- packages/eslint-config
+ @workspace/typescript-config 0.0.0 <- packages/typescript-config
+ prettier 3.8.1
+ prettier-plugin-tailwindcss 0.7.4
+ turbo 2.9.6
+ typescript 5.9.3
+ vitest 4.1.5

Done in 56s using pnpm v9.15.9

> @workspace/workflows@0.0.0 test /workspace/repo/packages/workflows
> vitest run src/index.test.ts


 RUN  v4.1.5 /workspace/repo/packages/workflows

 ✓ src/index.test.ts (1 test) 27ms

 Test Files  1 passed (1)
      Tests  1 passed (1)
   Start at  12:59:54
   Duration  664ms (transform 108ms, setup 0ms, import 233ms, tests 27ms, environment 0ms)


> web@0.0.1 test /workspace/repo/apps/web
> vitest run lib/billing/pricing.test.ts


 RUN  v4.1.5 /workspace/repo/apps/web

 ✓ lib/billing/pricing.test.ts (6 tests) 14ms

 Test Files  1 passed (1)
      Tests  6 passed (6)
   Start at  13:00:00
   Duration  532ms (transform 82ms, setup 0ms, import 117ms, tests 14ms, environment 0ms)


0083 1:00:00 PM [system] agent step 7 exited 0.
0084 1:00:05 PM [agent] Step 8: run: Confirm the final patch is limited to restoring the two invalid test expectations and has no whitespace errors.
0085 1:00:05 PM [system] $ agent step 8
0086 1:00:05 PM [stdout] diff --git a/apps/web/lib/billing/pricing.test.ts b/apps/web/lib/billing/pricing.test.ts
index 8302587..3b0e75d 100644
--- a/apps/web/lib/billing/pricing.test.ts
+++ b/apps/web/lib/billing/pricing.test.ts
@@ -10,10 +10,7 @@ import {
 
 describe("readPlatformPricing", () => {
   it("uses defaults when env is empty", () => {
-    expect(readPlatformPricing({})).toEqual({
-      ...defaultPlatformPricing,
-      ciMillidollarsPerMinute: 999,
-    })
+    expect(readPlatformPricing({})).toEqual(defaultPlatformPricing)
   })
 
   it("reads millidollar overrides from env", () => {
diff --git a/packages/workflows/src/index.test.ts b/packages/workflows/src/index.test.ts
index 33c38ce..6b2cdc9 100644
--- a/packages/workflows/src/index.test.ts
+++ b/packages/workflows/src/index.test.ts
@@ -18,7 +18,7 @@ jobs:
       - run: pnpm test
 `)
 
-    expect(workflow.name).toBe("Definitely Not CI")
+    expect(workflow.name).toBe("CI")
     expect(workflow.jobs.test?.container?.image).toBe("node:22")
     expect(workflow.jobs.test?.steps).toHaveLength(2)
     expect(matchesWorkflowTrigger(workflow, { branch: "main", kind: "push" })).toBe(

0087 1:00:05 PM [system] agent step 8 exited 0.
0088 1:00:15 PM [agent] Step 9: finish: ### What was failing
- `Tests` failed in `packages/workflows/src/index.test.ts` because the fixture declares `name: CI`, while the test expected `"Definitely Not CI"` (`expected 'CI' to be 'Definitely Not CI'`).
- The PR also changed `apps/web/lib/billing/pricing.test.ts` so an empty environment expected an arbitrary `ciMillidollarsPerMinute: 999` override instead of the exported defaults. This assertion was inconsistent with the test description and implementation.
- `Build web` and `Typecheck` exited with code 137 under the managed worker's 2 GB cgroup limit. Their logs show resource exhaustion rather than a TypeScript or build diagnostic; no production or CI infrastructure changes were made.

### Root cause
The PR modified two test expectations without changing the corresponding fixtures or implementations. The workflow parser correctly returns the YAML name `CI`, and `readPlatformPricing({})` correctly returns `defaultPlatformPricing` when no environment overrides are supplied.

The other two check failures were worker OOM kills: Next.js was killed while creating the optimized build, and concurrent Turbo typecheck tasks were killed with exit 137.

### Fix
- Restored `packages/workflows/src/index.test.ts` to expect `workflow.name` to be `"CI"`, matching its YAML fixture.
- Restored `apps/web/lib/billing/pricing.test.ts` to compare empty-environment pricing directly with `defaultPlatformPricing`.
- Verified the focused tests:
  - `@workspace/workflows`: 1 test passed.
  - `web` billing pricing test: 6 tests passed.
- Ran `git diff --check` successfully.
0089 1:00:15 PM [system] $ git status
0090 1:00:15 PM [stdout]  M apps/web/lib/billing/pricing.test.ts
 M packages/workflows/src/index.test.ts

0091 1:00:15 PM [system] git status exited 0.
0092 1:00:15 PM [system] $ final tests
0093 1:00:41 PM [stdout] Scope: all 21 workspace projects
Lockfile is up to date, resolution step is skipped
Already up to date

Done in 3.8s using pnpm v9.15.9

> open-git@0.0.1 test /workspace/repo
> turbo test


   • Packages in scope: @opengit/cli, @opengit/runner, @workspace/ci-runner-executor, @workspace/code-storage, @workspace/eslint-config, @workspace/git-graph, @workspace/git-indexing, @workspace/github-sync, @workspace/marketing, @workspace/typescript-config, @workspace/ui, @workspace/workflows, campfire-gateway, community, git-gateway, git-worker, github-sync-worker, managed-runner, playground, web
   • Running test in 20 packages
   • Remote caching disabled

@workspace/workflows:test: cache miss, executing b2a7d27430e687f4
@workspace/code-storage:test: cache miss, executing 18a119f23484a9c9
@workspace/git-indexing:test: cache miss, executing a34ea95069ea16db
@workspace/git-indexing:test: 
@workspace/git-indexing:test: > @workspace/git-indexing@0.0.0 test /workspace/repo/packages/git-indexing
@workspace/git-indexing:test: > vitest run
@workspace/git-indexing:test: 
@workspace/workflows:test: 
@workspace/workflows:test: > @workspace/workflows@0.0.0 test /workspace/repo/packages/workflows
@workspace/workflows:test: > vitest run
@workspace/workflows:test: 
@workspace/code-storage:test: 
@workspace/code-storage:test: > @workspace/code-storage@0.0.0 test /workspace/repo/packages/code-storage
@workspace/code-storage:test: > vitest run
@workspace/code-storage:test: 
@workspace/git-indexing:test: 
@workspace/git-indexing:test:  RUN  v4.1.5 /workspace/repo/packages/git-indexing
@workspace/git-indexing:test: 
@workspace/workflows:test: 
@workspace/workflows:test:  RUN  v4.1.5 /workspace/repo/packages/workflows
@workspace/workflows:test: 
@workspace/code-storage:test: 
@workspace/code-storage:test:  RUN  v4.1.5 /workspace/repo/packages/code-storage
@workspace/code-storage:test: 
@workspace/git-indexing:test:  ✓ src/index.test.ts (3 tests) 12ms
@workspace/git-indexing:test: 
@workspace/git-indexing:test:  Test Files  1 passed (1)
@workspace/git-indexing:test:       Tests  3 passed (3)
@workspace/git-indexing:test:    Start at  13:00:29
@workspace/git-indexing:test:    Duration  584ms (transform 88ms, setup 0ms, import 126ms, tests 12ms, environment 0ms)
@workspace/git-indexing:test: 
@workspace/github-sync:test: cache miss, executing a5b8b19c6c0c3461
@workspace/workflows:test:  ✓ src/index.test.ts (1 test) 32ms
@workspace/workflows:test:  ✓ src/repo-workflows.test.ts (4 tests) 68ms
@workspace/workflows:test: 
@workspace/workflows:test:  Test Files  2 passed (2)
@workspace/workflows:test:       Tests  5 passed (5)
@workspace/workflows:test:    Start at  13:00:29
@workspace/workflows:test:    Duration  769ms (transform 196ms, setup 0ms, import 451ms, tests 100ms, environment 1ms)
@workspace/workflows:test: 
@workspace/code-storage:test:  ✓ src/repo.test.ts (4 tests) 385ms
@workspace/code-storage:test: 
@workspace/code-storage:test:  Test Files  1 passed (1)
@workspace/code-storage:test:       Tests  4 passed (4)
@workspace/code-storage:test:    Start at  13:00:29
@workspace/code-storage:test:    Duration  1.26s (transform 254ms, setup 0ms, import 447ms, tests 385ms, environment 0ms)
@workspace/code-storage:test: 
git-gateway:test: cache miss, executing a050feb5cb037adf
@workspace/github-sync:test: 
@workspace/github-sync:test: > @workspace/github-sync@0.0.0 test /workspace/repo/packages/github-sync
@workspace/github-sync:test: > vitest run
@workspace/github-sync:test: 
@workspace/github-sync:test: 
@workspace/github-sync:test:  RUN  v4.1.5 /workspace/repo/packages/github-sync
@workspace/github-sync:test: 
git-gateway:test: 
git-gateway:test: > git-gateway@0.0.1 test /workspace/repo/apps/git-gateway
git-gateway:test: > vitest run
git-gateway:test: 
@workspace/github-sync:test:  ✓ src/__tests__/ref-divergence.test.ts (21 tests) 29ms
@workspace/github-sync:test:  ✓ src/__tests__/webhook.test.ts (18 tests) 24ms
@workspace/github-sync:test:  ✓ src/__tests__/echo-suppression.test.ts (27 tests) 60ms
@workspace/github-sync:test: 
@workspace/github-sync:test:  Test Files  3 passed (3)
@workspace/github-sync:test:       Tests  66 passed (66)
@workspace/github-sync:test:    Start at  13:00:31
@workspace/github-sync:test:    Duration  677ms (transform 399ms, setup 0ms, import 656ms, tests 113ms, environment 1ms)
@workspace/github-sync:test: 
web:test: cache miss, executing 4148fce98b91971b
git-gateway:test: 
git-gateway:test:  RUN  v4.1.5 /workspace/repo/apps/git-gateway
git-gateway:test: 
git-gateway:test:  ↓ src/gateway.integration.test.ts (1 test | 1 skipped)
git-gateway:test: 
git-gateway:test:  Test Files  1 skipped (1)
git-gateway:test:       Tests  1 skipped (1)
git-gateway:test:    Start at  13:00:32
git-gateway:test:    Duration  335ms (transform 46ms, setup 0ms, import 73ms, tests 0ms, environment 0ms)
git-gateway:test: 
web:test: 
web:test: > web@0.0.1 test /workspace/repo/apps/web
web:test: > vitest run
web:test: 
web:test: 
web:test:  RUN  v4.1.5 /workspace/repo/apps/web
web:test: 
web:test:  ✓ db/shadow-profiles.test.ts (14 tests) 43ms
web:test: stderr | lib/github/sync/write-as-actor.test.ts > getUserGitHubToken > tries the next linked account when one cannot produce a token
web:test: [github-sync] could not read a linked GitHub token {
web:test:   accountId: 'stale',
web:test:   error: Error: Account not found
web:test:       at /workspace/repo/apps/web/lib/github/sync/write-as-actor.test.ts:154:30
web:test:       at file:///workspace/repo/node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11
web:test:       at file:///workspace/repo/node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26
web:test:       at file:///workspace/repo/node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20
web:test:       at new Promise (<anonymous>)
web:test:       at runWithCancel (file:///workspace/repo/node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)
web:test:       at file:///workspace/repo/node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20
web:test:       at new Promise (<anonymous>)
web:test:       at runWithTimeout (file:///workspace/repo/node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)
web:test:       at file:///workspace/repo/node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64,
web:test:   profileId: '22222222-2222-4222-8222-222222222222'
web:test: }
web:test: 
web:test: stderr | lib/github/sync/write-as-actor.test.ts > getUserGitHubToken > reports no token rather than throwing when the lookup fails
web:test: [github-sync] could not read a linked GitHub token {
web:test:   accountId: '3198024',
web:test:   error: Error: Account not found
web:test:       at /workspace/repo/apps/web/lib/github/sync/write-as-actor.test.ts:176:44
web:test:       at file:///workspace/repo/node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11
web:test:       at file:///workspace/repo/node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26
web:test:       at file:///workspace/repo/node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20
web:test:       at new Promise (<anonymous>)
web:test:       at runWithCancel (file:///workspace/repo/node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)
web:test:       at file:///workspace/repo/node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20
web:test:       at new Promise (<anonymous>)
web:test:       at runWithTimeout (file:///workspace/repo/node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)
web:test:       at file:///workspace/repo/node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64,
web:test:   profileId: '22222222-2222-4222-8222-222222222222'
web:test: }
web:test: 
web:test:  ✓ lib/github/sync/dispatch-webhook.test.ts (18 tests) 35ms
web:test:  ✓ lib/github/sync/write-as-actor.test.ts (18 tests) 58ms
web:test: stderr | app/api/github/webhooks/route.test.ts > POST /api/github/webhooks > still acknowledges when applying an installation change fails
web:test: [github-webhooks] installation event failed {
web:test:   deliveryId: 'delivery-1',
web:test:   error: Error: db down
web:test:       at /workspace/repo/apps/web/app/api/github/webhooks/route.test.ts:220:52
web:test:       at file:///workspace/repo/node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11
web:test:       at file:///workspace/repo/node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26
web:test:       at file:///workspace/repo/node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20
web:test:       at new Promise (<anonymous>)
web:test:       at runWithCancel (file:///workspace/repo/node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)
web:test:       at file:///workspace/repo/node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20
web:test:       at new Promise (<anonymous>)
web:test:       at runWithTimeout (file:///workspace/repo/node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)
web:test:       at file:///workspace/repo/node_modules/.pnpm/@vitest+runner@4.1.5/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64
web:test: }
web:test: 
web:test:  ✓ app/api/github/webhooks/route.test.ts (15 tests) 75ms
web:test:  ✓ lib/pull-requests/create-pull-request.test.ts (6 tests) 22ms
web:test:  ✓ db/home-your-work-logic.test.ts (16 tests) 19ms
web:test:  ✓ db/repository-permissions.test.ts (6 tests) 17ms
web:test:  ✓ lib/ci/ci-scheduling.test.ts (9 tests) 22ms
web:test:  ✓ components/workbench-tabs/preview-slot.test.ts (7 tests) 18ms
web:test:  ✓ db/thread-number.test.ts (8 tests) 27ms
web:test:  ✓ db/home-autopilot-logic.test.ts (9 tests) 18ms
web:test:  ✓ db/repository-contributors.test.ts (5 tests) 22ms
web:test:  ✓ lib/github/sync/failure-message.test.ts (9 tests) 15ms
web:test:  ✓ db/home-nudges-logic.test.ts (9 tests) 18ms
web:test:  ✓ app/api/v1/repos/[owner]/[repository]/pulls/route.test.ts (3 tests) 29ms
web:test:  ✓ lib/shared/resource-query.test.ts (12 tests) 19ms
web:test:  ✓ lib/pull-requests/autopilot/openrouter.test.ts (5 tests) 89ms
web:test:  ✓ lib/admin.test.ts (8 tests) 18ms
web:test:  ✓ lib/billing/autopilot-allowlist.test.ts (5 tests) 14ms
web:test:  ✓ lib/api/personal-access-token.test.ts (4 tests) 83ms
web:test:  ✓ lib/billing/pricing.test.ts (6 tests) 14ms
web:test:  ✓ lib/ci/ci-repository-policy.test.ts (5 tests) 17ms
web:test:  ✓ lib/github/sync/repository-binding.test.ts (5 tests) 17ms
web:test:  ✓ lib/markdown/markdown.test.ts (9 tests) 108ms
web:test:  ✓ components/workbench-tabs/canonical-target.test.ts (5 tests) 14ms
web:test:  ✓ lib/waitlist-email.test.ts (3 tests) 14ms
web:test:  ✓ lib/repositories/repository-forks.test.ts (5 tests) 13ms
web:test:  ✓ lib/markdown/repository-docs-markdown.test.ts (4 tests) 48ms
web:test:  ✓ lib/repositories/pre-org-helper-guards.test.ts (2 tests) 23ms
web:test:  ✓ lib/campfire/campfire-message-segments.test.ts (3 tests) 15ms
web:test:  ✓ lib/ci/ci-fork-approval.test.ts (2 tests) 8ms
web:test:  ✓ app/workspace/helpers.test.ts (3 tests) 10ms
web:test:  ✓ lib/repositories/repository-grant-targets.test.ts (3 tests) 11ms
web:test:  ✓ lib/repositories/repository-validation.test.ts (2 tests) 10ms
web:test:  ✓ lib/repositories/repository-permissions.test.ts (2 tests) 10ms
web:test:  ✓ lib/ci/self-hosted-runners.test.ts (2 tests) 10ms
web:test:  ✓ lib/code/line-diff.test.ts (1 test[
...[truncated 835 chars]
0094 1:00:41 PM [stderr] bash: line 3: corepack: command not found

Attention:
Turborepo now collects completely anonymous telemetry regarding usage.
This information is used to shape the Turborepo roadmap and prioritize features.
You can learn more, including how to opt-out if you'd not like to participate in this anonymous program, by visiting the following URL:
https://turborepo.dev/docs/telemetry

• turbo 2.9.6

0095 1:00:41 PM [system] final tests exited 0.
0096 1:00:41 PM [system] $ diff stat
0097 1:00:41 PM [stdout]  apps/web/lib/billing/pricing.test.ts | 5 +----
 packages/workflows/src/index.test.ts | 2 +-
 2 files changed, 2 insertions(+), 5 deletions(-)

0098 1:00:41 PM [system] diff stat exited 0.
0099 1:00:41 PM [system] $ diff preview
0100 1:00:41 PM [stdout] diff --git a/apps/web/lib/billing/pricing.test.ts b/apps/web/lib/billing/pricing.test.ts
index 8302587..3b0e75d 100644
--- a/apps/web/lib/billing/pricing.test.ts
+++ b/apps/web/lib/billing/pricing.test.ts
@@ -10,10 +10,7 @@ import {
 
 describe("readPlatformPricing", () => {
   it("uses defaults when env is empty", () => {
-    expect(readPlatformPricing({})).toEqual({
-      ...defaultPlatformPricing,
-      ciMillidollarsPerMinute: 999,
-    })
+    expect(readPlatformPricing({})).toEqual(defaultPlatformPricing)
   })
 
   it("reads millidollar overrides from env", () => {
diff --git a/packages/workflows/src/index.test.ts b/packages/workflows/src/index.test.ts
index 33c38ce..6b2cdc9 100644
--- a/packages/workflows/src/index.test.ts
+++ b/packages/workflows/src/index.test.ts
@@ -18,7 +18,7 @@ jobs:
       - run: pnpm test
 `)
 
-    expect(workflow.name).toBe("Definitely Not CI")
+    expect(workflow.name).toBe("CI")
     expect(workflow.jobs.test?.container?.image).toBe("node:22")
     expect(workflow.jobs.test?.steps).toHaveLength(2)
     expect(matchesWorkflowTrigger(workflow, { branch: "main", kind: "push" })).toBe(

0101 1:00:41 PM [system] diff preview exited 0.
0102 1:00:41 PM [system] $ commit changes
0103 1:00:41 PM [stdout] [smoketest/ci 8a86e90] Restore valid workflow and pricing test expectations
 2 files changed, 2 insertions(+), 5 deletions(-)
8a86e90c0e1971b6d0ec4aeebf6aa01488e6a58b

0104 1:00:41 PM [system] commit changes exited 0.
0105 1:00:41 PM [system] $ read commit sha
0106 1:00:41 PM [stdout] 8a86e90c0e1971b6d0ec4aeebf6aa01488e6a58b

0107 1:00:41 PM [system] read commit sha exited 0.
0108 1:00:41 PM [system] $ verify push authentication
0109 1:00:42 PM [stderr] To https://git.open-git.com/madison/open-git.git
   b5412fe..8a86e90  HEAD -> smoketest/ci

0110 1:00:42 PM [system] verify push authentication exited 0.
0111 1:00:42 PM [system] $ push changes
0112 1:00:45 PM [stderr] To https://git.open-git.com/madison/open-git.git
   b5412fe..8a86e90  HEAD -> smoketest/ci

0113 1:00:45 PM [system] push changes exited 0.
0114 1:00:53 PM [system] Could not queue CI for 8a86e90c0e19: Materialized repository is not a valid bare repo: madison/open-git
0115 1:00:53 PM [system] Posted summary comment for 8a86e90c0e19.
0116 1:01:01 PM [system] Destroyed workspace uvkgi16bw385gjt6oxkg.
Run details
Run ID6558017e-0b15-4e43-8cab-d56a4111ace1
Actormadison
Worker-
Runtimefreestyle
Workspaceuvkgi16bw385gjt6oxkg
Commit8a86e90c0e19
Source
CheckTests
Check statusfailed
Review-
Comment-

Last refreshed 5:30:04 PM.