GitHub check

Whole log, 101 KB
Current runner version: '2.337.0'
Runner name: 'blacksmith-4vcpu-ubuntu-2404-7g2vrbbrcki4pnfe'
Runner group name: 'blacksmith scale sets - blacksmith-4vcpu-ubuntu-2404'
Machine name: 'ip-172-31-73-130'
โ–ธ GITHUB_TOKEN Permissions
Contents: read
Metadata: read
Secret source: Actions
Cache mode: write
Prepare workflow directory
Prepare all required actions
Getting action download info
Download action repository 'actions/checkout@v6' (SHA:d23441a48e516b6c34aea4fa41551a30e30af803)
Download action repository 'actions/cache@v6' (SHA:55cc8345863c7cc4c66a329aec7e433d2d1c52a9)
Download action repository 'actions/upload-artifact@v7' (SHA:cf430e030ddbb5b0abf93d22962f4752f3646cd9)
Setting BLACKSMITH_ACTIONS_RESULTS_URL to https://results-receiver.actions.githubusercontent.com/
Complete job name: Test Server 3
A job started hook has been configured by the self-hosted runner administrator
โ–ธ Run '/setup.sh'
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 164
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 435
  BLACKSMITH_CHECK_RUN_ID: 120383083168
  BLACKSMITH_JOB_DISPLAY_NAME: Test Server 3
  GITHUB_ACTIONS_CACHE_MODE: write
Logging daemon started (blacksmithd for logs)
Results daemon started (blacksmithd for results)
Background adoption and SSH setup started (PID: 2914)

----------------------------------------
View this job: https://app.blacksmith.sh/pingdotgg/runs/39944310734/jobs/120383083168
SSH Access (using your GitHub SSH key):
  ssh -p 64000 runner@blacksmith-4vcpu-ubuntu-2404-7g2vrbbrcki4pnfe.vm.blacksmith.sh

No GitHub SSH key? Add one at:
https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account

----------------------------------------

VM ID: blacksmith-4vcpu-ubuntu-2404-7g2vrbbrcki4pnfe
Host: production-152.236.40.61-x8664
Host Agent PID: 2649318
Host Agent Git SHA: af74fd76b
Host CPU Manufacturer: AuthenticAMD
Blacksmith Host Generation: gen 2
Petname: production-obliging-guppy-d689be57
Region: us-east
Rootfs Version: ubuntu24-full-x64-081926
OS Version: Ubuntu 24.04.4 LTS

Enabling Blacksmith transparent cache
โ–ธ Run actions/checkout@v6
with:
  fetch-depth: 2
  sparse-checkout: /*
!/.repos/
!/apps/mobile/modules/t3-terminal/Vendor/**/*.a

  sparse-checkout-cone-mode: false
  repository: pingdotgg/t3code
  token: ***
  ssh-strict: true
  ssh-user: git
  persist-credentials: true
  clean: true
  fetch-tags: false
  show-progress: true
  lfs: false
  submodules: false
  set-safe-directory: true
  allow-unsafe-pr-checkout: false
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 164
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 435
  GITHUB_REPO_NAME: pingdotgg/t3code
Syncing repository: pingdotgg/t3code
โ–ธ Getting Git version info
Working directory is '/home/runner/_work/t3code/t3code'
[command]/usr/local/bin/git version
git version 2.55.0
Temporarily overriding HOME='/home/runner/_work/_temp/778d682a-ce8c-465c-be16-fad1d6691147' before making global git config changes
Adding repository directory to the temporary git global config as a safe directory
[command]/usr/local/bin/git config --global --add safe.directory /home/runner/_work/t3code/t3code
Deleting the contents of '/home/runner/_work/t3code/t3code'
โ–ธ Determining repository object format
โ–ธ Initializing the repository
[command]/usr/local/bin/git init /home/runner/_work/t3code/t3code
hint: Using 'master' as the name for the initial branch. This default branch name
hint: will change to "main" in Git 3.0. To configure the initial branch name
hint: to use in all of your new repositories, which will suppress this warning,
hint: call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
hint:
hint: Disable this message with "git config set advice.defaultBranchName false"
Initialized empty Git repository in /home/runner/_work/t3code/t3code/.git/
[command]/usr/local/bin/git remote add origin https://github.com/pingdotgg/t3code
โ–ธ Disabling automatic garbage collection
[command]/usr/local/bin/git config --local gc.auto 0
โ–ธ Setting up auth
Removing SSH command configuration
[command]/usr/local/bin/git config --local --name-only --get-regexp core\.sshCommand
[command]/usr/local/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
Removing HTTP extra header
[command]/usr/local/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
[command]/usr/local/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
Removing includeIf entries pointing to credentials config files
[command]/usr/local/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
[command]/usr/local/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
[command]/usr/local/bin/git config --file /home/runner/_work/_temp/git-credentials-32e1c837-08fb-4ba1-9f47-f880b6d4c493.config http.https://github.com/.extraheader AUTHORIZATION: basic ***
[command]/usr/local/bin/git config --local includeIf.gitdir:/home/runner/_work/t3code/t3code/.git.path /home/runner/_work/_temp/git-credentials-32e1c837-08fb-4ba1-9f47-f880b6d4c493.config
[command]/usr/local/bin/git config --local includeIf.gitdir:/home/runner/_work/t3code/t3code/.git/worktrees/*.path /home/runner/_work/_temp/git-credentials-32e1c837-08fb-4ba1-9f47-f880b6d4c493.config
[command]/usr/local/bin/git config --local includeIf.gitdir:/github/workspace/.git.path /github/runner_temp/git-credentials-32e1c837-08fb-4ba1-9f47-f880b6d4c493.config
[command]/usr/local/bin/git config --local includeIf.gitdir:/github/workspace/.git/worktrees/*.path /github/runner_temp/git-credentials-32e1c837-08fb-4ba1-9f47-f880b6d4c493.config
โ–ธ Fetching the repository
[command]/usr/local/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --filter=blob:none --depth=2 origin +24c063ae804b38e4a900ae54fda55865293a333a:refs/remotes/origin/main
From https://github.com/pingdotgg/t3code
 * [new ref]         24c063ae804b38e4a900ae54fda55865293a333a -> origin/main
[command]/usr/local/bin/git branch --list --remote origin/main
  origin/main
[command]/usr/local/bin/git rev-parse refs/remotes/origin/main
24c063ae804b38e4a900ae54fda55865293a333a
โ–ธ Determining the checkout info
โ–ธ Setting up sparse checkout
[command]/usr/local/bin/git config core.sparseCheckout true
[command]/usr/local/bin/git rev-parse --git-path info/sparse-checkout
.git/info/sparse-checkout
โ–ธ Checking out the ref
[command]/usr/local/bin/git checkout --progress --force -B main refs/remotes/origin/main
Updating files:   0% (1/6304)
Updating files:   1% (64/6304)
Updating files:   2% (127/6304)
Updating files:   3% (190/6304)
Updating files:   4% (253/6304)
Updating files:   5% (316/6304)
Updating files:   6% (379/6304)
Updating files:   7% (442/6304)
Updating files:   8% (505/6304)
Updating files:   9% (568/6304)
Updating files:  10% (631/6304)
Updating files:  10% (676/6304)
Updating files:  11% (694/6304)
Updating files:  12% (757/6304)
Updating files:  13% (820/6304)
Updating files:  14% (883/6304)
Updating files:  15% (946/6304)
Updating files:  16% (1009/6304)
Updating files:  17% (1072/6304)
Updating files:  18% (1135/6304)
Updating files:  19% (1198/6304)
Updating files:  20% (1261/6304)
Updating files:  21% (1324/6304)
Updating files:  22% (1387/6304)
Updating files:  23% (1450/6304)
Updating files:  24% (1513/6304)
Updating files:  25% (1576/6304)
Updating files:  26% (1640/6304)
Updating files:  27% (1703/6304)
Updating files:  28% (1766/6304)
Updating files:  29% (1829/6304)
Updating files:  30% (1892/6304)
Updating files:  31% (1955/6304)
Updating files:  32% (2018/6304)
Updating files:  33% (2081/6304)
Updating files:  34% (2144/6304)
Updating files:  35% (2207/6304)
Updating files:  36% (2270/6304)
Updating files:  37% (2333/6304)
Updating files:  38% (2396/6304)
Updating files:  39% (2459/6304)
Updating files:  40% (2522/6304)
Updating files:  41% (2585/6304)
Updating files:  42% (2648/6304)
Updating files:  43% (2711/6304)
Updating files:  44% (2774/6304)
Updating files:  45% (2837/6304)
Updating files:  46% (2900/6304)
Updating files:  47% (2963/6304)
Updating files:  48% (3026/6304)
Updating files:  49% (3089/6304)
Updating files:  50% (3152/6304)
Updating files:  51% (3216/6304)
Updating files:  52% (3279/6304)
Updating files:  53% (3342/6304)
Updating files:  54% (3405/6304)
Updating files:  55% (3468/6304)
Updating files:  56% (3531/6304)
Updating files:  57% (3594/6304)
Updating files:  58% (3657/6304)
Updating files:  59% (3720/6304)
Updating files:  60% (3783/6304)
Updating files:  61% (3846/6304)
Updating files:  62% (3909/6304)
Updating files:  63% (3972/6304)
Updating files:  64% (4035/6304)
Updating files:  65% (4098/6304)
Updating files:  66% (4161/6304)
Updating files:  67% (4224/6304)
Updating files:  68% (4287/6304)
Updating files:  69% (4350/6304)
Updating files:  70% (4413/6304)
Updating files:  71% (4476/6304)
Updating files:  72% (4539/6304)
Updating files:  73% (4602/6304)
Updating files:  74% (4665/6304)
Updating files:  75% (4728/6304)
Updating files:  76% (4792/6304)
Updating files:  77% (4855/6304)
Updating files:  78% (4918/6304)
Updating files:  79% (4981/6304)
Updating files:  80% (5044/6304)
Updating files:  81% (5107/6304)
Updating files:  82% (5170/6304)
Updating files:  83% (5233/6304)
Updating files:  84% (5296/6304)
Updating files:  85% (5359/6304)
Updating files:  86% (5422/6304)
Updating files:  87% (5485/6304)
Updating files:  88% (5548/6304)
Updating files:  89% (5611/6304)
Updating files:  90% (5674/6304)
Updating files:  91% (5737/6304)
Updating files:  92% (5800/6304)
Updating files:  93% (5863/6304)
Updating files:  94% (5926/6304)
Updating files:  95% (5989/6304)
Updating files:  96% (6052/6304)
Updating files:  97% (6115/6304)
Updating files:  98% (6178/6304)
Updating files:  99% (6241/6304)
Updating files: 100% (6304/6304)
Updating files: 100% (6304/6304), done.
Switched to a new branch 'main'
branch 'main' set up to track 'origin/main'.
[command]/usr/local/bin/git log -1 --format=%H
24c063ae804b38e4a900ae54fda55865293a333a
Prepare all required actions
โ–ธ Run ./.github/actions/ci-changes
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 164
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 435
  GITHUB_REPO_NAME: pingdotgg/t3code
##[start-action display=Run set -uo pipefail;id=changes.detect]
โ–ธ Run set -uo pipefail
set -uo pipefail

decide() {
  node .github/scripts/ci-changes.cjs "$@" | tee -a "$GITHUB_OUTPUT"
  exit "${PIPESTATUS[0]}"
}

fail_open() {
  echo "$* Running every job."
  decide
}

# Reads the change from git rather than the REST API: every job that
# runs this shares the repository's 1,000 requests/hour GITHUB_TOKEN quota.
if [[ "$EVENT_NAME" == pull_request ]]; then
  # A pull request checks out GitHub's merge commit with fetch-depth: 2,
  # so its first parent is the base branch and the diff is the PR's change.
  base=HEAD^1
  mode=()
else
  base=$BEFORE_SHA
  git fetch --quiet --no-tags --depth=1 --filter=blob:none origin "$base" \
    || fail_open "Could not fetch ${base}."
  # main keeps a full run as the backstop for anything the gate misses.
  mode=(--full)
fi

# --no-renames lists a rename as its old and new path: renaming a file out
# of a package changes that package just like editing it. It also keeps
# git from fetching file contents to score renames.
git diff --name-only --no-renames "$base" HEAD > "$RUNNER_TEMP/changed-paths" \
  || fail_open "Could not diff against ${base}."
decide --paths "$RUNNER_TEMP/changed-paths" "${mode[@]}"
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 164
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 435
  GITHUB_REPO_NAME: pingdotgg/t3code
  EVENT_NAME: push
  BEFORE_SHA: 4812dcad02a86874533540e6a0c4b7f5eaea297a
Runs everything: vite.config.ts
Affected packages: @t3tools/client-runtime, @t3tools/contracts, @t3tools/desktop, @t3tools/marketing, @t3tools/mobile, @t3tools/oxlint-plugin-t3code, @t3tools/provider-acp, @t3tools/provider-acp-registry, @t3tools/provider-core, @t3tools/provider-cursor, @t3tools/provider-grok, @t3tools/provider-muse, @t3tools/provider-opencode, @t3tools/provider-pi, @t3tools/provider-testing, @t3tools/scripts, @t3tools/shared, @t3tools/source-control-azure-devops, @t3tools/source-control-bitbucket, @t3tools/source-control-core, @t3tools/source-control-forgejo, @t3tools/source-control-gitcafe, @t3tools/source-control-github, @t3tools/source-control-gitlab, @t3tools/source-control-testing, @t3tools/ssh, @t3tools/tailscale, @t3tools/web, effect-acp, effect-codex-app-server, t3, t3code-relay
typecheck=true
build=true
test=true
test_packages=
test_web=true
test_server=true
rust=true
release_smoke=true
mobile_native=false
##[end-action id=changes.detect;outcome=success;conclusion=success;duration_ms=273]
Prepare all required actions
Getting action download info
Download action repository 'voidzero-dev/setup-vp@v1' (SHA:250f29ce396baf5e8f24498e17c0dfdebabc26eb)
โ–ธ Run ./.github/actions/setup-ci-deps
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 164
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 435
  GITHUB_REPO_NAME: pingdotgg/t3code
##[start-action display=Resolve Vite+ version;id=__self.vp]
โ–ธ Run echo "version=$(sed -nE 's/^  vite-plus: ([0-9][^ ]*)$/\1/p' pnpm-workspace.yaml)" >> "$GITHUB_OUTPUT"
echo "version=$(sed -nE 's/^  vite-plus: ([0-9][^ ]*)$/\1/p' pnpm-workspace.yaml)" >> "$GITHUB_OUTPUT"
echo "node=$(jq -r '.engines.node' package.json)" >> "$GITHUB_OUTPUT"
echo "pnpm=$(jq -r '.packageManager' package.json)" >> "$GITHUB_OUTPUT"
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 164
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 435
  GITHUB_REPO_NAME: pingdotgg/t3code
##[end-action id=__self.vp;outcome=success;conclusion=success;duration_ms=61]
##[start-action display=Cache Vite+;id=__self.vp_cache]
โ–ธ Run actions/cache@v6
with:
  path: ~/.vite-plus
  key: vite-plus-home-v2-Linux-X64-1.3.0-node26.12.1-pnpm@12.14.0
  enableCrossOsArchive: false
  fail-on-cache-miss: false
  lookup-only: false
  save-always: false
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 164
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 435
  GITHUB_REPO_NAME: pingdotgg/t3code
Cache hit for: vite-plus-home-v2-Linux-X64-1.3.0-node26.12.1-pnpm@12.14.0
Received 170349591 of 170349591 (100.0%), 436.7 MBs/sec
Cache Size: ~162 MB (170349591 B)
[command]/usr/bin/tar -xf /home/runner/_work/_temp/9c6da33d-a152-40e7-b48f-cb47be8dcd99/cache.tzst -P -C /home/runner/_work/t3code/t3code --use-compress-program unzstd
Cache restored successfully
Cache restored from key: vite-plus-home-v2-Linux-X64-1.3.0-node26.12.1-pnpm@12.14.0
##[end-action id=__self.vp_cache;outcome=success;conclusion=success;duration_ms=1654]
##[start-action display=Use cached Vite+;id=__self.__run]
โ–ธ Run echo "$HOME/.vite-plus/bin" >> "$GITHUB_PATH"
echo "$HOME/.vite-plus/bin" >> "$GITHUB_PATH"
"$HOME/.vite-plus/bin/vp" env use "26.12.1"
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 164
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 435
  GITHUB_REPO_NAME: pingdotgg/t3code
Using Node.js v26.12.1 (resolved from 26.12.1)
##[end-action id=__self.__run;outcome=success;conclusion=success;duration_ms=11]
##[start-action display=Setup Vite+;id=__self.__voidzero-dev_setup-vp]
##[end-action id=__self.__voidzero-dev_setup-vp;outcome=skipped;conclusion=skipped;duration_ms=0]
##[start-action display=Resolve pnpm store path;id=__self.pnpm_store]
โ–ธ Run store_path="$(vp pm cache dir)"
store_path="$(vp pm cache dir)"
echo "path=$store_path" >> "$GITHUB_OUTPUT"
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 164
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 435
  GITHUB_REPO_NAME: pingdotgg/t3code
##[end-action id=__self.pnpm_store;outcome=success;conclusion=success;duration_ms=18]
##[start-action display=Cache full pnpm store;id=__self.__actions_cache]
โ–ธ Run actions/cache@v6
with:
  path: /home/runner/.local/share/pnpm/store/v11
  key: pnpm-full-v1-Linux-X64-2baa264059789b1dde4bbc8fdc5b8342f31f2fc8e6176e5c5e486efdd242b36c
  restore-keys: pnpm-full-v1-Linux-X64-

  enableCrossOsArchive: false
  fail-on-cache-miss: false
  lookup-only: false
  save-always: false
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 164
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 435
  GITHUB_REPO_NAME: pingdotgg/t3code
Cache hit for: pnpm-full-v1-Linux-X64-2baa264059789b1dde4bbc8fdc5b8342f31f2fc8e6176e5c5e486efdd242b36c
Received 310378496 of 994615207 (31.2%), 295.4 MBs/sec
Received 994615207 of 994615207 (100.0%), 473.8 MBs/sec
Cache Size: ~949 MB (994615207 B)
[command]/usr/bin/tar -xf /home/runner/_work/_temp/6dc3a8a1-ef4c-421b-925e-928c36ace22b/cache.tzst -P -C /home/runner/_work/t3code/t3code --use-compress-program unzstd
Cache restored successfully
Cache restored from key: pnpm-full-v1-Linux-X64-2baa264059789b1dde4bbc8fdc5b8342f31f2fc8e6176e5c5e486efdd242b36c
##[end-action id=__self.__actions_cache;outcome=success;conclusion=success;duration_ms=7869]
##[start-action display=Install dependencies;id=__self.__run_2]
โ–ธ Run vp install
vp install
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 164
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 435
  GITHUB_REPO_NAME: pingdotgg/t3code
Scope: all 33 workspace projects
? Verifying lockfile against supply-chain policies (2088 entries)...
Packages are hard linked from the content-addressable store to the virtual store.
  Content-addressable store is at: /home/runner/.local/share/pnpm/store/v11
  Virtual store is at:             node_modules/.pnpm
โœ“ Lockfile passes supply-chain policies (2088 entries in 3.2s)
Lockfile is up to date, resolution step is skipped
Packages: +1721
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Progress: resolved 1721, reused 1718, downloaded 0, added 1721, done
. prepare$ vp config --no-agent
. prepare: Done

devDependencies:
+ @coderabbitai/config 1.1.0
+ @shadcn/lint 0.1.5
+ @types/node 24.12.4
+ knip 6.34.0
+ typescript <- @tsc-rs/typescript 0.8.0
+ vite-plus 1.3.0

Done in 5.6s using pnpm v12.14.0
##[end-action id=__self.__run_2;outcome=success;conclusion=success;duration_ms=5631]
โ–ธ Run echo "version=$(node -p "require('./apps/server/node_modules/playwright-core/package.json').version")" >> "$GITHUB_OUTPUT"
echo "version=$(node -p "require('./apps/server/node_modules/playwright-core/package.json').version")" >> "$GITHUB_OUTPUT"
shell: /usr/bin/bash -e {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 164
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 435
  GITHUB_REPO_NAME: pingdotgg/t3code
โ–ธ Run actions/cache@v6
with:
  path: ~/.cache/ms-playwright
  key: playwright-chromium-shell-Linux-X64-1.60.0
  enableCrossOsArchive: false
  fail-on-cache-miss: false
  lookup-only: false
  save-always: false
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 164
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 435
  GITHUB_REPO_NAME: pingdotgg/t3code
Cache hit for: playwright-chromium-shell-Linux-X64-1.60.0
Received 106503405 of 106503405 (100.0%), 368.0 MBs/sec
Cache Size: ~102 MB (106503405 B)
[command]/usr/bin/tar -xf /home/runner/_work/_temp/44e7f86c-6fba-43f2-a5bd-7f70cfff8f03/cache.tzst -P -C /home/runner/_work/t3code/t3code --use-compress-program unzstd
Cache restored successfully
Cache restored from key: playwright-chromium-shell-Linux-X64-1.60.0
โ–ธ Run browser=$(find "$HOME/.cache/ms-playwright" -name chrome-headless-shell -type f -print -quit)
browser=$(find "$HOME/.cache/ms-playwright" -name chrome-headless-shell -type f -print -quit)
test -n "$browser"
if ldd "$browser" | grep '=> not found'; then
  node apps/server/node_modules/playwright-core/cli.js install-deps chromium
fi
shell: /usr/bin/bash -e {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 164
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 435
  GITHUB_REPO_NAME: pingdotgg/t3code
โ–ธ Run vp run --filter t3 test --shard 3/8
vp run --filter t3 test --shard 3/8
shell: /usr/bin/bash -e {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 164
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 435
  GITHUB_REPO_NAME: pingdotgg/t3code
  T3CODE_TRANSFER_BUDGET_REPORT_PATH: /home/runner/_work/_temp/t3code-transfer-budget.md
  T3CODE_TRANSFER_BUDGET_RESULT_PATH: /home/runner/_work/_temp/thread-transfer-result.json
~/apps/server$ vp test run --shard 3/8 โŠ˜ cache disabled

 RUN  v5.0.5 /home/runner/_work/t3code/t3code/apps/server

 โœ“ src/orchestration-v2/Adapters/CodexAdapterV2.test.ts (80 tests) 816ms
   โœ“ CodexAdapterV2 post-settle continuation (69)
     โœ“ stops a completed run's background command without a client-supplied run 339ms
 โœ“ src/git/GitManager.test.ts (104 tests) 22742ms
   โœ“ GitManager (104)
     โœ“ finds a fork PR for a branch pushed without an upstream 523ms
     โœ“ prefers an exact fork ref but does not guess between equal refs 321ms
     โœ“ status does not reuse a stale PR after the branch is retargeted to a different upstream 305ms
     โœ“ pushes and creates PR from a no-upstream branch when local commits are ahead of base 330ms
     โœ“ create_pr targets the remote default branch when it is not main 369ms
     โœ“ create_pr sends bounded checks to the model and omits rolled-back runs 330ms
     โœ“ creates a PR against the default branch with a legacy commit base setting 334ms
     โœ“ creates a PR against the default branch with a legacy short-commit base setting 315ms
     โœ“ creates a PR against the default branch with a legacy tag base setting 302ms
     โœ“ creates a PR against the default branch with a legacy revision base setting 362ms
     โœ“ generates PR content from the created worktree's selected remote base 330ms
     โœ“ preserves a local worktree PR base that shadows a remote ref, including legacy bases 580ms
     โœ“ generates PR content from branch changes when the remote base advances (main) 451ms
     โœ“ generates PR content from branch changes when the remote base advances (release/1.2) 486ms
     โœ“ creates a new PR instead of reusing an unrelated fork PR with the same head branch 341ms
     โœ“ creates cross-repo PRs with the fork owner selector and default base branch 401ms
     โœ“ local PR checkout excludes a concurrent switch from a nested project with an alternate root 323ms
     โœ“ local PR checkout excludes a concurrent create-and-switch from a nested project with an alternate root 314ms
     โœ“ local PR checkout excludes a concurrent feature-branch from a nested project with an alternate root 458ms
     โœ“ prepares a worktree from the head branch when the host has no pull ref 549ms
     โœ“ preserves fork upstream tracking when preparing a worktree PR thread 322ms
     โœ“ refreshes a reused PR worktree onto the updated pull request head 360ms
     โœ“ resets a clean reused PR worktree onto a force-pushed pull request head 348ms
     โœ“ keeps a reused PR worktree that carries its own commit off the rewritten head 339ms
     โœ“ keeps a dirty reused PR worktree off the rewritten pull request head 322ms
     โœ“ reuses an existing PR worktree with 110 preceding matching branches (fork: false) 645ms
     โœ“ reuses an existing PR worktree with 110 preceding matching branches (fork: true) 681ms
     โœ“ refreshes a reused PR worktree that has no upstream from the pull request ref 442ms
     โœ“ create_pr preserves dirty work on an already pushed branch 307ms
 โœ“ src/provider/CodexChatGptAuth.test.ts (54 tests) 3630ms
 โœ“ src/orchestration-v2/ThreadStop.test.ts (39 tests) 1941ms
 โœ“ src/orchestration-v2/PullRequestSyncReactor.test.ts (24 tests) 66ms
stdout | src/preview/ServerBrowser.test.ts > a rejected download releases the original and keeps no saved copy (save failed)
[11:12:21.086] WARN (#802): server preview download failed {
  cause: Error: save interrupted
      at Object.saveAs (/home/runner/_work/t3code/t3code/apps/server/src/preview/ServerBrowser.test.ts:909:50)
      at saveDownload (/home/runner/_work/t3code/t3code/apps/server/src/preview/ServerBrowser.ts:959:7)
}

 โœ“ src/preview/ServerBrowser.test.ts (22 tests) 114ms
 โœ“ src/orchestration-v2/ProjectionRecovery.test.ts (12 tests) 381ms
 โœ“ src/provider/antigravityAuthSupport.test.ts (26 tests) 268ms
 โœ“ src/persistence/OrchestrationEventStore.test.ts (10 tests) 242ms
stdout | src/auth/McpOAuth.test.ts > derives discovery metadata from the origin the client reached
[11:12:25.264] INFO (#4): Migrations ran successfully {
  migrations: [
    '1_OrchestrationEvents',
    '2_OrchestrationCommandReceipts',
    '3_CheckpointDiffBlobs',
    '4_ProviderSessionRuntime',
    '5_Projections',
    '6_ProjectionThreadSessionRuntimeModeColumns',
    '7_ProjectionThreadMessageAttachments',
    '8_ProjectionThreadActivitySequence',
    '9_ProviderSessionRuntimeMode',
    '10_ProjectionThreadsRuntimeMode',
    '11_OrchestrationThreadCreatedRuntimeMode',
    '12_ProjectionThreadsInteractionMode',
    '13_ProjectionThreadProposedPlans',
    '14_ProjectionThreadProposedPlanImplementation',
    '15_ProjectionTurnsSourceProposedPlan',
    '16_CanonicalizeModelSelections',
    '17_ProjectionThreadsArchivedAt',
    '18_ProjectionThreadsArchivedAtIndex',
    '19_ProjectionSnapshotLookupIndexes',
    '20_AuthAccessManagement',
    '21_AuthSessionClientMetadata',
    '22_AuthSessionLastConnectedAt',
    '23_ProjectionThreadShellSummary',
    '24_BackfillProjectionThreadShellSummary',
    '25_CleanupInvalidProjectionPendingApprovals',
    '26_CanonicalizeModelSelectionOptions',
    '27_ProviderSessionRuntimeInstanceId',
    '28_ProjectionThreadSessionInstanceId',
    '29_ProjectionThreadDetailOrderingIndexes',
    '30_ProjectionThreadShellArchiveIndexes',
    '31_AuthAuthorizationScopes',
    '32_AuthPairingProofKeyThumbprint',
    '33_ProjectionThreadsSettled',
    '34_ProjectionThreadsSnoozed',
    '35_ProjectionThreadTitleRegeneration',
    '36_ProjectionThreadsPinned',
    '37_ProjectionTurnsKeysetIndex',
    '38_ProjectionThreadsPinOrderKey',
    '39_ProjectionProjectsDefaultThreadEnvMode',
    '40_ProjectionProjectFaviconPath',
    '41_AuthSessionClientConnection',
    '42_ProjectionThreadLinkedPullRequest',
    '43_ProjectionThreadsUnsettledAt',
    '44_ClearAutomaticProjectModelDefaults',
    '45_ProjectionProjectsAutoPull',
    '46_RepairAutomaticSettlementTimestamps',
    '47_ProjectionProjectIcon',
    '48_ProjectionThreadBranchPullRequest',
    '49_ProjectionThreadsActiveOrderKey',
    '50_ProjectionThreadPullRequests',
    '51_ProjectionThreadMessageContext',
    '52_ProjectionThreadTitleState',
    '53_PullRequestFilesViewed',
    '54_ProjectionThreadsAutoSettleDisabledAt',
    '55_OrchestrationV2',
    '56_RemoveRedundantProjectionIndexes',
    '57_ScheduledTaskWebhooks',
    '58_WebhookRelayDeliveries',
    '59_McpAppModelContext',
    '60_ThreadSnapshotWindowIndexes',
    '61_PullRequestReviewGuides',
    '62_ThreadFailureLookupIndex',
    '63_DropUnusedV1Projections',
    '64_CanonicalizeThreadPullRequestLinks',
    '65_CodexUsageNativeTurnIndex',
    '66_RepairClientSettlementTimestamps',
    '67_WebhookDedupe',
    '68_ShellStopRequestIndex'
  ]
}

stdout | src/auth/McpOAuth.test.ts > registers loopback and https clients and never redirects for an unverified client
[11:12:25.308] INFO (#358): Migrations ran successfully {
  migrations: [
    '1_OrchestrationEvents',
    '2_OrchestrationCommandReceipts',
    '3_CheckpointDiffBlobs',
    '4_ProviderSessionRuntime',
    '5_Projections',
    '6_ProjectionThreadSessionRuntimeModeColumns',
    '7_ProjectionThreadMessageAttachments',
    '8_ProjectionThreadActivitySequence',
    '9_ProviderSessionRuntimeMode',
    '10_ProjectionThreadsRuntimeMode',
    '11_OrchestrationThreadCreatedRuntimeMode',
    '12_ProjectionThreadsInteractionMode',
    '13_ProjectionThreadProposedPlans',
    '14_ProjectionThreadProposedPlanImplementation',
    '15_ProjectionTurnsSourceProposedPlan',
    '16_CanonicalizeModelSelections',
    '17_ProjectionThreadsArchivedAt',
    '18_ProjectionThreadsArchivedAtIndex',
    '19_ProjectionSnapshotLookupIndexes',
    '20_AuthAccessManagement',
    '21_AuthSessionClientMetadata',
    '22_AuthSessionLastConnectedAt',
    '23_ProjectionThreadShellSummary',
    '24_BackfillProjectionThreadShellSummary',
    '25_CleanupInvalidProjectionPendingApprovals',
    '26_CanonicalizeModelSelectionOptions',
    '27_ProviderSessionRuntimeInstanceId',
    '28_ProjectionThreadSessionInstanceId',
    '29_ProjectionThreadDetailOrderingIndexes',
    '30_ProjectionThreadShellArchiveIndexes',
    '31_AuthAuthorizationScopes',
    '32_AuthPairingProofKeyThumbprint',
    '33_ProjectionThreadsSettled',
    '34_ProjectionThreadsSnoozed',
    '35_ProjectionThreadTitleRegeneration',
    '36_ProjectionThreadsPinned',
    '37_ProjectionTurnsKeysetIndex',
    '38_ProjectionThreadsPinOrderKey',
    '39_ProjectionProjectsDefaultThreadEnvMode',
    '40_ProjectionProjectFaviconPath',
    '41_AuthSessionClientConnection',
    '42_ProjectionThreadLinkedPullRequest',
    '43_ProjectionThreadsUnsettledAt',
    '44_ClearAutomaticProjectModelDefaults',
    '45_ProjectionProjectsAutoPull',
    '46_RepairAutomaticSettlementTimestamps',
    '47_ProjectionProjectIcon',
    '48_ProjectionThreadBranchPullRequest',
    '49_ProjectionThreadsActiveOrderKey',
    '50_ProjectionThreadPullRequests',
    '51_ProjectionThreadMessageContext',
    '52_ProjectionThreadTitleState',
    '53_PullRequestFilesViewed',
    '54_ProjectionThreadsAutoSettleDisabledAt',
    '55_OrchestrationV2',
    '56_RemoveRedundantProjectionIndexes',
    '57_ScheduledTaskWebhooks',
    '58_WebhookRelayDeliveries',
    '59_McpAppModelContext',
    '60_ThreadSnapshotWindowIndexes',
    '61_PullRequestReviewGuides',
    '62_ThreadFailureLookupIndex',
    '63_DropUnusedV1Projections',
    '64_CanonicalizeThreadPullRequestLinks',
    '65_CodexUsageNativeTurnIndex',
    '66_RepairClientSettlementTimestamps',
    '67_WebhookDedupe',
    '68_ShellStopRequestIndex'
  ]
}

stdout | src/auth/McpOAuth.test.ts > signs in with a pairing code and issues a token only /mcp accepts
[11:12:25.342] INFO (#748): Migrations ran successfully {
  migrations: [
    '1_OrchestrationEvents',
    '2_OrchestrationCommandReceipts',
    '3_CheckpointDiffBlobs',
    '4_ProviderSessionRuntime',
    '5_Projections',
    '6_ProjectionThreadSessionRuntimeModeColumns',
    '7_ProjectionThreadMessageAttachments',
    '8_ProjectionThreadActivitySequence',
    '9_ProviderSessionRuntimeMode',
    '10_ProjectionThreadsRuntimeMode',
    '11_OrchestrationThreadCreatedRuntimeMode',
    '12_ProjectionThreadsInteractionMode',
    '13_ProjectionThreadProposedPlans',
    '14_ProjectionThreadProposedPlanImplementation',
    '15_ProjectionTurnsSourceProposedPlan',
    '16_CanonicalizeModelSelections',
    '17_ProjectionThreadsArchivedAt',
    '18_ProjectionThreadsArchivedAtIndex',
    '19_ProjectionSnapshotLookupIndexes',
    '20_AuthAccessManagement',
    '21_AuthSessionClientMetadata',
    '22_AuthSessionLastConnectedAt',
    '23_ProjectionThreadShellSummary',
    '24_BackfillProjectionThreadShellSummary',
    '25_CleanupInvalidProjectionPendingApprovals',
    '26_CanonicalizeModelSelectionOptions',
    '27_ProviderSessionRuntimeInstanceId',
    '28_ProjectionThreadSessionInstanceId',
    '29_ProjectionThreadDetailOrderingIndexes',
    '30_ProjectionThreadShellArchiveIndexes',
    '31_AuthAuthorizationScopes',
    '32_AuthPairingProofKeyThumbprint',
    '33_ProjectionThreadsSettled',
    '34_ProjectionThreadsSnoozed',
    '35_ProjectionThreadTitleRegeneration',
    '36_ProjectionThreadsPinned',
    '37_ProjectionTurnsKeysetIndex',
    '38_ProjectionThreadsPinOrderKey',
    '39_ProjectionProjectsDefaultThreadEnvMode',
    '40_ProjectionProjectFaviconPath',
    '41_AuthSessionClientConnection',
    '42_ProjectionThreadLinkedPullRequest',
    '43_ProjectionThreadsUnsettledAt',
    '44_ClearAutomaticProjectModelDefaults',
    '45_ProjectionProjectsAutoPull',
    '46_RepairAutomaticSettlementTimestamps',
    '47_ProjectionProjectIcon',
    '48_ProjectionThreadBranchPullRequest',
    '49_ProjectionThreadsActiveOrderKey',
    '50_ProjectionThreadPullRequests',
    '51_ProjectionThreadMessageContext',
    '52_ProjectionThreadTitleState',
    '53_PullRequestFilesViewed',
    '54_ProjectionThreadsAutoSettleDisabledAt',
    '55_OrchestrationV2',
    '56_RemoveRedundantProjectionIndexes',
    '57_ScheduledTaskWebhooks',
    '58_WebhookRelayDeliveries',
    '59_McpAppModelContext',
    '60_ThreadSnapshotWindowIndexes',
    '61_PullRequestReviewGuides',
    '62_ThreadFailureLookupIndex',
    '63_DropUnusedV1Projections',
    '64_CanonicalizeThreadPullRequestLinks',
    '65_CodexUsageNativeTurnIndex',
    '66_RepairClientSettlementTimestamps',
    '67_WebhookDedupe',
    '68_ShellStopRequestIndex'
  ]
}

stdout | src/auth/McpOAuth.test.ts > signs in with a pairing code and issues a token only /mcp accepts
[11:12:25.352] INFO (#1092): Approved an MCP client sign-in. { client: 'Claude Code', access: 'auto', method: 'pairing-code' }

stdout | src/auth/McpOAuth.test.ts > signs in a hosted agent with an https callback that asked for a client secret
[11:12:25.377] INFO (#1129): Migrations ran successfully {
  migrations: [
    '1_OrchestrationEvents',
    '2_OrchestrationCommandReceipts',
    '3_CheckpointDiffBlobs',
    '4_ProviderSessionRuntime',
    '5_Projections',
    '6_ProjectionThreadSessionRuntimeModeColumns',
    '7_ProjectionThreadMessageAttachments',
    '8_ProjectionThreadActivitySequence',
    '9_ProviderSessionRuntimeMode',
    '10_ProjectionThreadsRuntimeMode',
    '11_OrchestrationThreadCreatedRuntimeMode',
    '12_ProjectionThreadsInteractionMode',
    '13_ProjectionThreadProposedPlans',
    '14_ProjectionThreadProposedPlanImplementation',
    '15_ProjectionTurnsSourceProposedPlan',
    '16_CanonicalizeModelSelections',
    '17_ProjectionThreadsArchivedAt',
    '18_ProjectionThreadsArchivedAtIndex',
    '19_ProjectionSnapshotLookupIndexes',
    '20_AuthAccessManagement',
    '21_AuthSessionClientMetadata',
    '22_AuthSessionLastConnectedAt',
    '23_ProjectionThreadShellSummary',
    '24_BackfillProjectionThreadShellSummary',
    '25_CleanupInvalidProjectionPendingApprovals',
    '26_CanonicalizeModelSelectionOptions',
    '27_ProviderSessionRuntimeInstanceId',
    '28_ProjectionThreadSessionInstanceId',
    '29_ProjectionThreadDetailOrderingIndexes',
    '30_ProjectionThreadShellArchiveIndexes',
    '31_AuthAuthorizationScopes',
    '32_AuthPairingProofKeyThumbprint',
    '33_ProjectionThreadsSettled',
    '34_ProjectionThreadsSnoozed',
    '35_ProjectionThreadTitleRegeneration',
    '36_ProjectionThreadsPinned',
    '37_ProjectionTurnsKeysetIndex',
    '38_ProjectionThreadsPinOrderKey',
    '39_ProjectionProjectsDefaultThreadEnvMode',
    '40_ProjectionProjectFaviconPath',
    '41_AuthSessionClientConnection',
    '42_ProjectionThreadLinkedPullRequest',
    '43_ProjectionThreadsUnsettledAt',
    '44_ClearAutomaticProjectModelDefaults',
    '45_ProjectionProjectsAutoPull',
    '46_RepairAutomaticSettlementTimestamps',
    '47_ProjectionProjectIcon',
    '48_ProjectionThreadBranchPullRequest',
    '49_ProjectionThreadsActiveOrderKey',
    '50_ProjectionThreadPullRequests',
    '51_ProjectionThreadMessageContext',
    '52_ProjectionThreadTitleState',
    '53_PullRequestFilesViewed',
    '54_ProjectionThreadsAutoSettleDisabledAt',
    '55_OrchestrationV2',
    '56_RemoveRedundantProjectionIndexes',
    '57_ScheduledTaskWebhooks',
    '58_WebhookRelayDeliveries',
    '59_McpAppModelContext',
    '60_ThreadSnapshotWindowIndexes',
    '61_PullRequestReviewGuides',
    '62_ThreadFailureLookupIndex',
    '63_DropUnusedV1Projections',
    '64_CanonicalizeThreadPullRequestLinks',
    '65_CodexUsageNativeTurnIndex',
    '66_RepairClientSettlementTimestamps',
    '67_WebhookDedupe',
    '68_ShellStopRequestIndex'
  ]
}

stdout | src/auth/McpOAuth.test.ts > signs in a hosted agent with an https callback that asked for a client secret
[11:12:25.381] INFO (#1471): Approved an MCP client sign-in. {
  client: 'Hosted bot',
  access: 'approval-required',
  method: 'pairing-code'
}

stdout | src/auth/McpOAuth.test.ts > rejects a wrong PKCE verifier and spends the code
[11:12:25.403] INFO (#1503): Migrations ran successfully {
  migrations: [
    '1_OrchestrationEvents',
    '2_OrchestrationCommandReceipts',
    '3_CheckpointDiffBlobs',
    '4_ProviderSessionRuntime',
    '5_Projections',
    '6_ProjectionThreadSessionRuntimeModeColumns',
    '7_ProjectionThreadMessageAttachments',
    '8_ProjectionThreadActivitySequence',
    '9_ProviderSessionRuntimeMode',
    '10_ProjectionThreadsRuntimeMode',
    '11_OrchestrationThreadCreatedRuntimeMode',
    '12_ProjectionThreadsInteractionMode',
    '13_ProjectionThreadProposedPlans',
    '14_ProjectionThreadProposedPlanImplementation',
    '15_ProjectionTurnsSourceProposedPlan',
    '16_CanonicalizeModelSelections',
    '17_ProjectionThreadsArchivedAt',
    '18_ProjectionThreadsArchivedAtIndex',
    '19_ProjectionSnapshotLookupIndexes',
    '20_AuthAccessManagement',
    '21_AuthSessionClientMetadata',
    '22_AuthSessionLastConnectedAt',
    '23_ProjectionThreadShellSummary',
    '24_BackfillProjectionThreadShellSummary',
    '25_CleanupInvalidProjectionPendingApprovals',
    '26_CanonicalizeModelSelectionOptions',
    '27_ProviderSessionRuntimeInstanceId',
    '28_ProjectionThreadSessionInstanceId',
    '29_ProjectionThreadDetailOrderingIndexes',
    '30_ProjectionThreadShellArchiveIndexes',
    '31_AuthAuthorizationScopes',
    '32_AuthPairingProofKeyThumbprint',
    '33_ProjectionThreadsSettled',
    '34_ProjectionThreadsSnoozed',
    '35_ProjectionThreadTitleRegeneration',
    '36_ProjectionThreadsPinned',
    '37_ProjectionTurnsKeysetIndex',
    '38_ProjectionThreadsPinOrderKey',
    '39_ProjectionProjectsDefaultThreadEnvMode',
    '40_ProjectionProjectFaviconPath',
    '41_AuthSessionClientConnection',
    '42_ProjectionThreadLinkedPullRequest',
    '43_ProjectionThreadsUnsettledAt',
    '44_ClearAutomaticProjectModelDefaults',
    '45_ProjectionProjectsAutoPull',
    '46_RepairAutomaticSettlementTimestamps',
    '47_ProjectionProjectIcon',
    '48_ProjectionThreadBranchPullRequest',
    '49_ProjectionThreadsActiveOrderKey',
    '50_ProjectionThreadPullRequests',
    '51_ProjectionThreadMessageContext',
    '52_ProjectionThreadTitleState',
    '53_PullRequestFilesViewed',
    '54_ProjectionThreadsAutoSettleDisabledAt',
    '55_OrchestrationV2',
    '56_RemoveRedundantProjectionIndexes',
    '57_ScheduledTaskWebhooks',
    '58_WebhookRelayDeliveries',
    '59_McpAppModelContext',
    '60_ThreadSnapshotWindowIndexes',
    '61_PullRequestReviewGuides',
    '62_ThreadFailureLookupIndex',
    '63_DropUnusedV1Projections',
    '64_CanonicalizeThreadPullRequestLinks',
    '65_CodexUsageNativeTurnIndex',
    '66_RepairClientSettlementTimestamps',
    '67_WebhookDedupe',
    '68_ShellStopRequestIndex'
  ]
}

stdout | src/auth/McpOAuth.test.ts > rejects a wrong PKCE verifier and spends the code
[11:12:25.406] INFO (#1840): Approved an MCP client sign-in. {
  client: 'Claude Code',
  access: 'approval-required',
  method: 'pairing-code'
}

stdout | src/auth/McpOAuth.test.ts > denies and refuses codes bound to another client's key or without the scopes it grants
[11:12:25.429] INFO (#1874): Migrations ran successfully {
  migrations: [
    '1_OrchestrationEvents',
    '2_OrchestrationCommandReceipts',
    '3_CheckpointDiffBlobs',
    '4_ProviderSessionRuntime',
    '5_Projections',
    '6_ProjectionThreadSessionRuntimeModeColumns',
    '7_ProjectionThreadMessageAttachments',
    '8_ProjectionThreadActivitySequence',
    '9_ProviderSessionRuntimeMode',
    '10_ProjectionThreadsRuntimeMode',
    '11_OrchestrationThreadCreatedRuntimeMode',
    '12_ProjectionThreadsInteractionMode',
    '13_ProjectionThreadProposedPlans',
    '14_ProjectionThreadProposedPlanImplementation',
    '15_ProjectionTurnsSourceProposedPlan',
    '16_CanonicalizeModelSelections',
    '17_ProjectionThreadsArchivedAt',
    '18_ProjectionThreadsArchivedAtIndex',
    '19_ProjectionSnapshotLookupIndexes',
    '20_AuthAccessManagement',
    '21_AuthSessionClientMetadata',
    '22_AuthSessionLastConnectedAt',
    '23_ProjectionThreadShellSummary',
    '24_BackfillProjectionThreadShellSummary',
    '25_CleanupInvalidProjectionPendingApprovals',
    '26_CanonicalizeModelSelectionOptions',
    '27_ProviderSessionRuntimeInstanceId',
    '28_ProjectionThreadSessionInstanceId',
    '29_ProjectionThreadDetailOrderingIndexes',
    '30_ProjectionThreadShellArchiveIndexes',
    '31_AuthAuthorizationScopes',
    '32_AuthPairingProofKeyThumbprint',
    '33_ProjectionThreadsSettled',
    '34_ProjectionThreadsSnoozed',
    '35_ProjectionThreadTitleRegeneration',
    '36_ProjectionThreadsPinned',
    '37_ProjectionTurnsKeysetIndex',
    '38_ProjectionThreadsPinOrderKey',
    '39_ProjectionProjectsDefaultThreadEnvMode',
    '40_ProjectionProjectFaviconPath',
    '41_AuthSessionClientConnection',
    '42_ProjectionThreadLinkedPullRequest',
    '43_ProjectionThreadsUnsettledAt',
    '44_ClearAutomaticProjectModelDefaults',
    '45_ProjectionProjectsAutoPull',
    '46_RepairAutomaticSettlementTimestamps',
    '47_ProjectionProjectIcon',
    '48_ProjectionThreadBranchPullRequest',
    '49_ProjectionThreadsActiveOrderKey',
    '50_ProjectionThreadPullRequests',
    '51_ProjectionThreadMessageContext',
    '52_ProjectionThreadTitleState',
    '53_PullRequestFilesViewed',
    '54_ProjectionThreadsAutoSettleDisabledAt',
    '55_OrchestrationV2',
    '56_RemoveRedundantProjectionIndexes',
    '57_ScheduledTaskWebhooks',
    '58_WebhookRelayDeliveries',
    '59_McpAppModelContext',
    '60_ThreadSnapshotWindowIndexes',
    '61_PullRequestReviewGuides',
    '62_ThreadFailureLookupIndex',
    '63_DropUnusedV1Projections',
    '64_CanonicalizeThreadPullRequestLinks',
    '65_CodexUsageNativeTurnIndex',
    '66_RepairClientSettlementTimestamps',
    '67_WebhookDedupe',
    '68_ShellStopRequestIndex'
  ]
}

stdout | src/auth/McpOAuth.test.ts > denies and refuses codes bound to another client's key or without the scopes it grants
[11:12:25.439] INFO (#2234): Approved an MCP client sign-in. { client: 'Claude Code', access: 'read-only', method: 'pairing-code' }

stdout | src/auth/McpOAuth.test.ts > one-click approves only access the browser session holds the scopes for
[11:12:25.461] INFO (#2264): Migrations ran successfully {
  migrations: [
    '1_OrchestrationEvents',
    '2_OrchestrationCommandReceipts',
    '3_CheckpointDiffBlobs',
    '4_ProviderSessionRuntime',
    '5_Projections',
    '6_ProjectionThreadSessionRuntimeModeColumns',
    '7_ProjectionThreadMessageAttachments',
    '8_ProjectionThreadActivitySequence',
    '9_ProviderSessionRuntimeMode',
    '10_ProjectionThreadsRuntimeMode',
    '11_OrchestrationThreadCreatedRuntimeMode',
    '12_ProjectionThreadsInteractionMode',
    '13_ProjectionThreadProposedPlans',
    '14_ProjectionThreadProposedPlanImplementation',
    '15_ProjectionTurnsSourceProposedPlan',
    '16_CanonicalizeModelSelections',
    '17_ProjectionThreadsArchivedAt',
    '18_ProjectionThreadsArchivedAtIndex',
    '19_ProjectionSnapshotLookupIndexes',
    '20_AuthAccessManagement',
    '21_AuthSessionClientMetadata',
    '22_AuthSessionLastConnectedAt',
    '23_ProjectionThreadShellSummary',
    '24_BackfillProjectionThreadShellSummary',
    '25_CleanupInvalidProjectionPendingApprovals',
    '26_CanonicalizeModelSelectionOptions',
    '27_ProviderSessionRuntimeInstanceId',
    '28_ProjectionThreadSessionInstanceId',
    '29_ProjectionThreadDetailOrderingIndexes',
    '30_ProjectionThreadShellArchiveIndexes',
    '31_AuthAuthorizationScopes',
    '32_AuthPairingProofKeyThumbprint',
    '33_ProjectionThreadsSettled',
    '34_ProjectionThreadsSnoozed',
    '35_ProjectionThreadTitleRegeneration',
    '36_ProjectionThreadsPinned',
    '37_ProjectionTurnsKeysetIndex',
    '38_ProjectionThreadsPinOrderKey',
    '39_ProjectionProjectsDefaultThreadEnvMode',
    '40_ProjectionProjectFaviconPath',
    '41_AuthSessionClientConnection',
    '42_ProjectionThreadLinkedPullRequest',
    '43_ProjectionThreadsUnsettledAt',
    '44_ClearAutomaticProjectModelDefaults',
    '45_ProjectionProjectsAutoPull',
    '46_RepairAutomaticSettlementTimestamps',
    '47_ProjectionProjectIcon',
    '48_ProjectionThreadBranchPullRequest',
    '49_ProjectionThreadsActiveOrderKey',
    '50_ProjectionThreadPullRequests',
    '51_ProjectionThreadMessageContext',
    '52_ProjectionThreadTitleState',
    '53_PullRequestFilesViewed',
    '54_ProjectionThreadsAutoSettleDisabledAt',
    '55_OrchestrationV2',
    '56_RemoveRedundantProjectionIndexes',
    '57_ScheduledTaskWebhooks',
    '58_WebhookRelayDeliveries',
    '59_McpAppModelContext',
    '60_ThreadSnapshotWindowIndexes',
    '61_PullRequestReviewGuides',
    '62_ThreadFailureLookupIndex',
    '63_DropUnusedV1Projections',
    '64_CanonicalizeThreadPullRequestLinks',
    '65_CodexUsageNativeTurnIndex',
    '66_RepairClientSettlementTimestamps',
    '67_WebhookDedupe',
    '68_ShellStopRequestIndex'
  ]
}

stdout | src/auth/McpOAuth.test.ts > one-click approves only access the browser session holds the scopes for
[11:12:25.468] INFO (#2613): Approved an MCP client sign-in. { client: 'Claude Code', access: 'auto', method: 'browser-session' }

stdout | src/auth/McpOAuth.test.ts > one-click approves only access the browser session holds the scopes for
[11:12:25.472] INFO (#2646): Approved an MCP client sign-in. {
  client: 'Claude Code',
  access: 'read-only',
  method: 'browser-session'
}

 โœ“ src/auth/McpOAuth.test.ts (8 tests) 251ms
 โœ“ src/device/LocalDeviceHost.test.ts (17 tests) 51ms
 โœ“ src/provider/Drivers/codexUsage.test.ts (27 tests) 9ms
 โœ“ src/textGeneration/CodexTextGeneration.test.ts (12 tests) 2491ms
   โœ“ CodexTextGeneration (12)
     โœ“ kills a stalled exec CLI when its request is interrupted 1053ms
     โœ“ kills a stalled mcp list CLI when its request is interrupted 1023ms
 โœ“ src/terminal/OutputProtocol.test.ts (13 tests) 41ms
 โœ“ src/orchestration-v2/ProjectionSettlement.test.ts (8 tests) 141ms
 โœ“ src/orchestration-v2/ThreadManagementService.test.ts (8 tests) 204ms
 โœ“ src/mcp/McpToolAccess.test.ts (52 tests) 76ms
 โœ“ src/mcp/AcpMcpStdioBridge.test.ts (8 tests) 18ms
 โœ“ src/provider/Drivers/AntigravitySkills.test.ts (11 tests) 80ms
 โœ“ src/orchestration-v2/ThreadTitleRegenerationService.test.ts (5 tests) 259ms
 โœ“ src/telemetry/AnalyticsService.test.ts (3 tests) 70ms
 โœ“ src/project/ProjectFaviconResolver.test.ts (13 tests) 41ms
 โœ“ src/persistence/RepositoryErrorCorrelation.test.ts (3 tests) 90ms
 โœ“ src/orchestration-v2/RestartBackgroundNote.test.ts (6 tests) 4ms
 โœ“ src/orchestration-v2/ThreadSearch.test.ts (2 tests) 89ms
 โœ“ src/orchestration-v2/CheckpointScopeOwnership.test.ts (1 test) 59ms
 โœ“ src/scheduledTasks/ScheduledTaskService.schedule.test.ts (3 tests) 122ms
stdout | src/orchestration-v2/ProjectSettingsUpgrade.integration.test.ts > keeps project settings through the V2 migrations and the first V2 boot
[11:12:40.526] INFO (#2): Migrations ran successfully {
  migrations: [
    '1_OrchestrationEvents',
    '2_OrchestrationCommandReceipts',
    '3_CheckpointDiffBlobs',
    '4_ProviderSessionRuntime',
    '5_Projections',
    '6_ProjectionThreadSessionRuntimeModeColumns',
    '7_ProjectionThreadMessageAttachments',
    '8_ProjectionThreadActivitySequence',
    '9_ProviderSessionRuntimeMode',
    '10_ProjectionThreadsRuntimeMode',
    '11_OrchestrationThreadCreatedRuntimeMode',
    '12_ProjectionThreadsInteractionMode',
    '13_ProjectionThreadProposedPlans',
    '14_ProjectionThreadProposedPlanImplementation',
    '15_ProjectionTurnsSourceProposedPlan',
    '16_CanonicalizeModelSelections',
    '17_ProjectionThreadsArchivedAt',
    '18_ProjectionThreadsArchivedAtIndex',
    '19_ProjectionSnapshotLookupIndexes',
    '20_AuthAccessManagement',
    '21_AuthSessionClientMetadata',
    '22_AuthSessionLastConnectedAt',
    '23_ProjectionThreadShellSummary',
    '24_BackfillProjectionThreadShellSummary',
    '25_CleanupInvalidProjectionPendingApprovals',
    '26_CanonicalizeModelSelectionOptions',
    '27_ProviderSessionRuntimeInstanceId',
    '28_ProjectionThreadSessionInstanceId',
    '29_ProjectionThreadDetailOrderingIndexes',
    '30_ProjectionThreadShellArchiveIndexes',
    '31_AuthAuthorizationScopes',
    '32_AuthPairingProofKeyThumbprint',
    '33_ProjectionThreadsSettled',
    '34_ProjectionThreadsSnoozed',
    '35_ProjectionThreadTitleRegeneration',
    '36_ProjectionThreadsPinned',
    '37_ProjectionTurnsKeysetIndex',
    '38_ProjectionThreadsPinOrderKey',
    '39_ProjectionProjectsDefaultThreadEnvMode',
    '40_ProjectionProjectFaviconPath',
    '41_AuthSessionClientConnection',
    '42_ProjectionThreadLinkedPullRequest',
    '43_ProjectionThreadsUnsettledAt',
    '44_ClearAutomaticProjectModelDefaults',
    '45_ProjectionProjectsAutoPull',
    '46_RepairAutomaticSettlementTimestamps',
    '47_ProjectionProjectIcon',
    '48_ProjectionThreadBranchPullRequest',
    '49_ProjectionThreadsActiveOrderKey',
    '50_ProjectionThreadPullRequests',
    '51_ProjectionThreadMessageContext',
    '52_ProjectionThreadTitleState',
    '53_PullRequestFilesViewed',
    '54_ProjectionThreadsAutoSettleDisabledAt'
  ]
}

stdout | src/orchestration-v2/ProjectSettingsUpgrade.integration.test.ts > keeps project settings through the V2 migrations and the first V2 boot
[11:12:40.560] INFO (#2): Migrations ran successfully {
  migrations: [
    '55_OrchestrationV2',
    '56_RemoveRedundantProjectionIndexes',
    '57_ScheduledTaskWebhooks',
    '58_WebhookRelayDeliveries',
    '59_McpAppModelContext',
    '60_ThreadSnapshotWindowIndexes',
    '61_PullRequestReviewGuides',
    '62_ThreadFailureLookupIndex',
    '63_DropUnusedV1Projections',
    '64_CanonicalizeThreadPullRequestLinks',
    '65_CodexUsageNativeTurnIndex',
    '66_RepairClientSettlementTimestamps',
    '67_WebhookDedupe',
    '68_ShellStopRequestIndex'
  ]
}

 โœ“ src/orchestration-v2/ProjectSettingsUpgrade.integration.test.ts (1 test) 108ms
 โœ“ src/usage/usageAggregation.test.ts (11 tests) 15ms
 โœ“ src/scheduledTasks/webhookTemplate.test.ts (10 tests) 5ms
 โœ“ src/provider/providerInstallation.test.ts (2 tests) 12ms
 โœ“ src/orchestration-v2/Adapters/claudeWorkflowProgress.test.ts (14 tests) 4ms
 โœ“ src/orchestration-v2/RunCompletionReads.test.ts (2 tests) 86ms
 โœ“ src/provider/providerStatusCache.test.ts (4 tests) 5ms
 โœ“ src/orchestration-v2/ContextHandoffService.test.ts (3 tests) 10ms
 โœ“ src/environment/RemoteOpenTargets.test.ts (4 tests) 9ms
 โœ“ src/textGeneration/OpenCode2TextGeneration.test.ts (2 tests) 39ms
 โœ“ src/resourceTelemetry/NativeTelemetryClient.test.ts (2 tests) 5ms
 โœ“ src/provider/CodexAuthCallback.test.ts (3 tests) 30ms
 โœ“ src/mcp/toolkits/environment/handlers.test.ts (1 test) 9ms
 โœ“ src/auth/utils.test.ts (5 tests) 4ms
 โœ“ scripts/t3-sqlite-state.test.ts (2 tests) 18ms
 โœ“ src/orchestration-v2/pullRequestWatch.forgejoComments.test.ts (5 tests) 3ms
 โœ“ src/cli/doctor.test.ts (1 test) 6ms
 โœ“ src/persistence/DatabaseStorage.test.ts (1 test) 63ms
 โœ“ src/workspace/WorkspacePaths.test.ts (2 tests) 8ms
 โœ“ src/persistence/Migrations/049_ProjectionThreadsActiveOrderKey.test.ts (1 test) 30ms
 โœ“ src/cloud/linkChecks.test.ts (8 tests) 3ms
 โœ“ src/cloud/managedTunnelStartup.test.ts (1 test) 5ms
 โœ“ src/startupAccess.test.ts (1 test) 2ms
 โœ“ src/codexModelOptions.test.ts (1 test) 2ms

 Test Files  51 passed (51)
      Tests  658 passed (658)
   Start at  11:11:43
   Duration  66.18s (tests 55%, import 34%, transform 9%, setup 2%)

     Import  1073 modules were evaluated 14287 times ยท 21.27s total, 34% of tracked time
             ~19.67s faster with isolate: false โ€” shared modules are evaluated once per worker instead of once per file
             learn more: https://vitest.dev/guide/improving-performance#test-isolation


โ–ธ Run if test -f "/home/runner/_work/_temp/thread-transfer-result.json"; then
if test -f "/home/runner/_work/_temp/thread-transfer-result.json"; then
  echo "present=true" >> "$GITHUB_OUTPUT"
else
  echo "present=false" >> "$GITHUB_OUTPUT"
fi
shell: /usr/bin/bash -e {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 164
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 435
  GITHUB_REPO_NAME: pingdotgg/t3code
Post job cleanup.
Cache hit occurred on the primary key playwright-chromium-shell-Linux-X64-1.60.0, not saving cache.
Post job cleanup.
##[start-action display=Cache full pnpm store;id=__279ecea4-8fd0-4c03-8841-38045193873b.__actions_cache]
Post job cleanup.
Cache hit occurred on the primary key pnpm-full-v1-Linux-X64-2baa264059789b1dde4bbc8fdc5b8342f31f2fc8e6176e5c5e486efdd242b36c, not saving cache.
##[end-action id=__279ecea4-8fd0-4c03-8841-38045193873b.__actions_cache;outcome=success;conclusion=success;duration_ms=110]
##[start-action display=Cache Vite+;id=__279ecea4-8fd0-4c03-8841-38045193873b.vp_cache]
Post job cleanup.
Cache hit occurred on the primary key vite-plus-home-v2-Linux-X64-1.3.0-node26.12.1-pnpm@12.14.0, not saving cache.
##[end-action id=__279ecea4-8fd0-4c03-8841-38045193873b.vp_cache;outcome=success;conclusion=success;duration_ms=70]
Post job cleanup.
[command]/usr/local/bin/git version
git version 2.55.0
Temporarily overriding HOME='/home/runner/_work/_temp/32d42c79-0f37-449c-95f3-2af98af0ed69' before making global git config changes
Adding repository directory to the temporary git global config as a safe directory
[command]/usr/local/bin/git config --global --add safe.directory /home/runner/_work/t3code/t3code
Removing SSH command configuration
[command]/usr/local/bin/git config --local --name-only --get-regexp core\.sshCommand
[command]/usr/local/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
fatal: No url found for submodule path '.repos/alchemy-effect/submodules/distilled' in .gitmodules
Warning: The process '/usr/local/bin/git' failed with exit code 128
A job completed hook has been configured by the self-hosted runner administrator
โ–ธ Run '/job_completed.sh'
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 164
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 435
  BLACKSMITH_CHECK_RUN_ID: 120383083168
  BLACKSMITH_JOB_DISPLAY_NAME: Test Server 3
  GITHUB_ACTIONS_CACHE_MODE: write
Docker container cache not activated, skipping hash computation.
No active SSH sessions detected. Proceeding with shutdown immediately.
Cleaning up orphan processes