GitHub check
Whole log, 129 KB
Current runner version: '2.338.1'
Runner name: 'blacksmith-4vcpu-ubuntu-2404-k3zyei654utxopsq'
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 8
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: 149
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 395
BLACKSMITH_CHECK_RUN_ID: 120984969747
BLACKSMITH_JOB_DISPLAY_NAME: Test Server 8
GITHUB_ACTIONS_CACHE_MODE: write
Logging daemon started (blacksmithd for logs)
Results daemon started (blacksmithd for results)
Background adoption and SSH setup started (PID: 2937)
----------------------------------------
View this job: https://app.blacksmith.sh/pingdotgg/runs/40131829321/jobs/120984969747
SSH Access (using your GitHub SSH key):
ssh -p 64000 runner@blacksmith-4vcpu-ubuntu-2404-k3zyei654utxopsq.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-k3zyei654utxopsq
Host: production-152.236.39.232-x8664
Host Agent PID: 8128
Host Agent Git SHA: 1637818df
Host CPU Manufacturer: AuthenticAMD
Blacksmith Host Generation: gen 2
Petname: production-relative-crawdad-7c47b506
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: 149
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 395
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/bc9d1d74-1d4f-402b-9338-f18c2854c791' 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-196aa159-61ba-4dd0-8a04-76809431a5c4.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-196aa159-61ba-4dd0-8a04-76809431a5c4.config
[command]/usr/local/bin/git config --local includeIf.gitdir:/home/runner/_work/t3code/t3code/.git/worktrees/*.path /home/runner/_work/_temp/git-credentials-196aa159-61ba-4dd0-8a04-76809431a5c4.config
[command]/usr/local/bin/git config --local includeIf.gitdir:/github/workspace/.git.path /github/runner_temp/git-credentials-196aa159-61ba-4dd0-8a04-76809431a5c4.config
[command]/usr/local/bin/git config --local includeIf.gitdir:/github/workspace/.git/worktrees/*.path /github/runner_temp/git-credentials-196aa159-61ba-4dd0-8a04-76809431a5c4.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 +be1d0667320de371db76221d011a65ca7adb2bfe:refs/remotes/origin/main
From https://github.com/pingdotgg/t3code
* [new ref] be1d0667320de371db76221d011a65ca7adb2bfe -> 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
be1d0667320de371db76221d011a65ca7adb2bfe
โธ 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/6402)
Updating files: 1% (65/6402)
Updating files: 2% (129/6402)
Updating files: 3% (193/6402)
Updating files: 4% (257/6402)
Updating files: 5% (321/6402)
Updating files: 6% (385/6402)
Updating files: 7% (449/6402)
Updating files: 8% (513/6402)
Updating files: 9% (577/6402)
Updating files: 10% (641/6402)
Updating files: 11% (705/6402)
Updating files: 12% (769/6402)
Updating files: 13% (833/6402)
Updating files: 14% (897/6402)
Updating files: 15% (961/6402)
Updating files: 16% (1025/6402)
Updating files: 17% (1089/6402)
Updating files: 18% (1153/6402)
Updating files: 19% (1217/6402)
Updating files: 20% (1281/6402)
Updating files: 21% (1345/6402)
Updating files: 22% (1409/6402)
Updating files: 23% (1473/6402)
Updating files: 24% (1537/6402)
Updating files: 25% (1601/6402)
Updating files: 26% (1665/6402)
Updating files: 27% (1729/6402)
Updating files: 28% (1793/6402)
Updating files: 29% (1857/6402)
Updating files: 30% (1921/6402)
Updating files: 31% (1985/6402)
Updating files: 32% (2049/6402)
Updating files: 33% (2113/6402)
Updating files: 34% (2177/6402)
Updating files: 35% (2241/6402)
Updating files: 36% (2305/6402)
Updating files: 37% (2369/6402)
Updating files: 38% (2433/6402)
Updating files: 39% (2497/6402)
Updating files: 40% (2561/6402)
Updating files: 41% (2625/6402)
Updating files: 42% (2689/6402)
Updating files: 43% (2753/6402)
Updating files: 44% (2817/6402)
Updating files: 45% (2881/6402)
Updating files: 46% (2945/6402)
Updating files: 47% (3009/6402)
Updating files: 48% (3073/6402)
Updating files: 49% (3137/6402)
Updating files: 50% (3201/6402)
Updating files: 51% (3266/6402)
Updating files: 52% (3330/6402)
Updating files: 53% (3394/6402)
Updating files: 54% (3458/6402)
Updating files: 55% (3522/6402)
Updating files: 56% (3586/6402)
Updating files: 57% (3650/6402)
Updating files: 58% (3714/6402)
Updating files: 59% (3778/6402)
Updating files: 60% (3842/6402)
Updating files: 61% (3906/6402)
Updating files: 62% (3970/6402)
Updating files: 63% (4034/6402)
Updating files: 64% (4098/6402)
Updating files: 65% (4162/6402)
Updating files: 66% (4226/6402)
Updating files: 67% (4290/6402)
Updating files: 68% (4354/6402)
Updating files: 69% (4418/6402)
Updating files: 70% (4482/6402)
Updating files: 71% (4546/6402)
Updating files: 72% (4610/6402)
Updating files: 73% (4674/6402)
Updating files: 74% (4738/6402)
Updating files: 75% (4802/6402)
Updating files: 76% (4866/6402)
Updating files: 77% (4930/6402)
Updating files: 78% (4994/6402)
Updating files: 79% (5058/6402)
Updating files: 80% (5122/6402)
Updating files: 81% (5186/6402)
Updating files: 82% (5250/6402)
Updating files: 83% (5314/6402)
Updating files: 84% (5378/6402)
Updating files: 85% (5442/6402)
Updating files: 86% (5506/6402)
Updating files: 87% (5570/6402)
Updating files: 88% (5634/6402)
Updating files: 89% (5698/6402)
Updating files: 90% (5762/6402)
Updating files: 91% (5826/6402)
Updating files: 92% (5890/6402)
Updating files: 93% (5954/6402)
Updating files: 94% (6018/6402)
Updating files: 95% (6082/6402)
Updating files: 96% (6146/6402)
Updating files: 97% (6210/6402)
Updating files: 98% (6274/6402)
Updating files: 99% (6338/6402)
Updating files: 100% (6402/6402)
Updating files: 100% (6402/6402), done.
Switched to a new branch 'main'
branch 'main' set up to track 'origin/main'.
[command]/usr/local/bin/git log -1 --format=%H
be1d0667320de371db76221d011a65ca7adb2bfe
Prepare all required actions
โธ Run ./.github/actions/ci-changes
env:
BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 149
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 395
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: 149
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 395
GITHUB_REPO_NAME: pingdotgg/t3code
EVENT_NAME: push
BEFORE_SHA: bf5c483cbe298032fe5f97b05f31f8458aab0031
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-definitions, @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=255]
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: 149
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 395
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: 149
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 395
GITHUB_REPO_NAME: pingdotgg/t3code
##[end-action id=__self.vp;outcome=success;conclusion=success;duration_ms=8]
##[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: 149
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 395
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%), 453.8 MBs/sec
Cache Size: ~162 MB (170349591 B)
[command]/usr/bin/tar -xf /home/runner/_work/_temp/a6714157-3b49-431f-8d14-f2fffc8aa30e/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=1632]
##[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: 149
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 395
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=10]
##[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: 149
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 395
GITHUB_REPO_NAME: pingdotgg/t3code
##[end-action id=__self.pnpm_store;outcome=success;conclusion=success;duration_ms=17]
##[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-bab31c3827e90e1352d302da4c761fd1b91963ae565f5f0ea70972d0942af1f6
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: 149
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 395
GITHUB_REPO_NAME: pingdotgg/t3code
Cache hit for: pnpm-full-v1-Linux-X64-bab31c3827e90e1352d302da4c761fd1b91963ae565f5f0ea70972d0942af1f6
Received 603979776 of 995395870 (60.7%), 576.0 MBs/sec
Received 995395870 of 995395870 (100.0%), 596.3 MBs/sec
Cache Size: ~949 MB (995395870 B)
[command]/usr/bin/tar -xf /home/runner/_work/_temp/e6bb2f43-dc1b-4408-b3d4-16e1fd0e495d/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-bab31c3827e90e1352d302da4c761fd1b91963ae565f5f0ea70972d0942af1f6
##[end-action id=__self.__actions_cache;outcome=success;conclusion=success;duration_ms=7187]
##[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: 149
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 395
GITHUB_REPO_NAME: pingdotgg/t3code
Scope: all 34 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 2.6s)
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 3.8s using pnpm v12.14.0
##[end-action id=__self.__run_2;outcome=success;conclusion=success;duration_ms=3877]
โธ 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: 149
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 395
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: 149
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 395
GITHUB_REPO_NAME: pingdotgg/t3code
Cache hit for: playwright-chromium-shell-Linux-X64-1.60.0
Received 106503405 of 106503405 (100.0%), 839.4 MBs/sec
Cache Size: ~102 MB (106503405 B)
[command]/usr/bin/tar -xf /home/runner/_work/_temp/f73d28f4-0288-4db7-843a-39e4d68dcddf/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: 149
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 395
GITHUB_REPO_NAME: pingdotgg/t3code
โธ Run vp run --filter t3 test --shard 8/8
vp run --filter t3 test --shard 8/8
shell: /usr/bin/bash -e {0}
env:
BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 149
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 395
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 8/8 โ cache disabled
RUN v5.0.5 /home/runner/_work/t3code/t3code/apps/server
โ src/orchestration-v2/ProviderSessionManager.test.ts (41 tests) 1083ms
โ src/orchestration-v2/RunExecutionService.test.ts (43 tests) 66ms
โ src/orchestration-v2/DelegatedCompletionDelivery.test.ts (26 tests) 629ms
โ src/project/AgentSessionScanner.test.ts (53 tests) 747ms
โ AgentSessionScanner (37)
โ recentThreads (18)
โ skips excessive records without blocking an older valid transcript 339ms
โ src/provider/acp/AcpJsonRpcConnection.test.ts (30 tests) 5571ms
โ AcpSessionRuntime (30)
โ drains large stderr output and keeps auth-sized logging chunks 368ms
โ keeps assistant item IDs unique when a provider session restarts 376ms
โ src/orchestration-v2/RestartContinuation.test.ts (44 tests) 39ms
โ src/provider/providerMaintenanceRunner.test.ts (18 tests) 35ms
โ src/mcp/McpHttpServer.test.ts (18 tests) 145ms
stdout | src/orchestration-v2/SelectionRestart.integration.test.ts > retries a failed selection restart session open before completing
[20:54:36.892] INFO (#22): 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',
'69_ThreadMessageSearch'
]
}
stdout | src/orchestration-v2/SelectionRestart.integration.test.ts > retries a failed selection restart session open before completing
[20:54:37.037] WARN (#1246): Orchestration effect execution failed {
effectId: 'effect:command:selection-restart:second:provider-turn.restart:provider-turn:run-attempt:run:run%3Athread%3Athread%253Aselection-restart-lifecycle%3Aordinal%3A1:attempt:1',
effectType: 'provider-turn.restart',
attemptCount: 1,
nonRetryable: false,
error: 'OrchestrationEffectExecutionError: \n' +
' at /home/runner/_work/t3code/t3code/apps/server/src/orchestration-v2/EffectWorker.ts:371:21\n' +
' at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:1483:96 {\n' +
' [cause]: ProviderTurnStartError: \n' +
' at /home/runner/_work/t3code/t3code/apps/server/src/orchestration-v2/ProviderTurnStartService.ts:1370:19\n' +
' at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:1483:96 {\n' +
' [cause]: ProviderSessionOpenError: Failed to open provider instance codex-restart-test session provider-session:provider-instance:codex-restart-test:thread:thread%3Aselection-restart-lifecycle:d4f0c4bf-c9d9-43b5-9405-d5340738ce66.\n' +
' at /home/runner/_work/t3code/t3code/apps/server/src/orchestration-v2/ProviderSessionManager.ts:2207:23\n' +
' at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:1483:96 {\n' +
' [cause]: ProviderAdapterOpenSessionError: Failed to open codex provider session provider-session:provider-instance:codex-restart-test:thread:thread%3Aselection-restart-lifecycle:d4f0c4bf-c9d9-43b5-9405-d5340738ce66.\n' +
' at /home/runner/_work/t3code/t3code/apps/server/src/orchestration-v2/SelectionRestart.integration.test.ts:117:25 {\n' +
' [cause]: Error: simulated replacement open failure\n' +
' }\n' +
' }\n' +
' }\n' +
'}'
}
stdout | src/orchestration-v2/SelectionRestart.integration.test.ts > restarts the live session on a model change when a newer stopped session record exists
[20:54:37.262] INFO (#2642): 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',
'69_ThreadMessageSearch'
]
}
stdout | src/orchestration-v2/SelectionRestart.integration.test.ts > preserves native history only for compatible account switches (active)
[20:54:37.505] INFO (#5323): 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',
'69_ThreadMessageSearch'
]
}
stdout | src/orchestration-v2/SelectionRestart.integration.test.ts > preserves native history only for compatible account switches (idle)
[20:54:37.757] INFO (#8030): 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',
'69_ThreadMessageSearch'
]
}
stdout | src/orchestration-v2/SelectionRestart.integration.test.ts > preserves native history only for compatible account switches (selection-command)
[20:54:38.055] INFO (#10800): 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',
'69_ThreadMessageSearch'
]
}
stdout | src/orchestration-v2/SelectionRestart.integration.test.ts > preserves native history only for compatible account switches (pooled)
[20:54:38.388] INFO (#13579): 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',
'69_ThreadMessageSearch'
]
}
stdout | src/orchestration-v2/SelectionRestart.integration.test.ts > preserves native history only for compatible account switches (separate-home)
[20:54:38.675] INFO (#16349): 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',
'69_ThreadMessageSearch'
]
}
โ src/orchestration-v2/SelectionRestart.integration.test.ts (7 tests) 2044ms
โ retries a failed selection restart session open before completing 395ms
โ preserves native history only for compatible account switches (selection-command) 336ms
โ src/orchestration-v2/CheckpointRollbackService.test.ts (7 tests) 79ms
โ src/orchestration-v2/ProviderContinuationService.test.ts (11 tests) 14ms
โ src/checkpointing/CheckpointStore.test.ts (9 tests) 901ms
โ src/orchestration-v2/ClaudeAutomaticDelivery.integration.test.ts (4 tests) 982ms
โ delivers child completion with Claude's native pending-tool cancellation behavior 348ms
โ src/orchestration-v2/TurnStartReads.test.ts (4 tests) 131ms
โ src/provider/CodexInstallation.test.ts (25 tests) 289ms
stdout | integration/transferBudgetV2.integration.test.ts > reports V2 thread HTTP and WebSocket transfer budgets
[20:54:46.710] INFO (#1): 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',
'69_ThreadMessageSearch'
]
}
stdout | integration/transferBudgetV2.integration.test.ts > reports V2 thread HTTP and WebSocket transfer budgets
[20:54:46.884] INFO (#349) http.span=23ms: Sent HTTP response {
'http.method': 'GET',
'http.url': '/api/orchestration/threads/transfer-budget-thread',
'http.status': 200
}
stdout | integration/transferBudgetV2.integration.test.ts > reports V2 thread HTTP and WebSocket transfer budgets
[20:54:46.893] INFO (#367) http.span=4ms: Sent HTTP response {
'http.method': 'GET',
'http.url': '/api/orchestration/shell',
'http.status': 200
}
stdout | integration/transferBudgetV2.integration.test.ts > reports V2 thread HTTP and WebSocket transfer budgets
[20:54:47.050] INFO (#405) http.span=150ms: Sent HTTP response { 'http.method': 'GET', 'http.url': '/ws', 'http.status': 101 }
stdout | integration/transferBudgetV2.integration.test.ts > reports V2 thread HTTP and WebSocket transfer budgets
[20:54:47.063] INFO (#395) http.span=164ms: Sent HTTP response { 'http.method': 'GET', 'http.url': '/ws', 'http.status': 101 }
stdout | integration/transferBudgetV2.integration.test.ts > reports V2 thread HTTP and WebSocket transfer budgets
[20:54:47.063] INFO (#629) http.span=35ms: Sent HTTP response { 'http.method': 'GET', 'http.url': '/ws', 'http.status': 101 }
stdout | integration/transferBudgetV2.integration.test.ts > reports V2 thread HTTP and WebSocket transfer budgets
[20:54:47.064] INFO (#641) http.span=35ms: InterruptError: All fibers interrupted without error {
[cause]: InterruptCause: The fiber was interrupted by:
at fiber (#728)
} { 'http.method': 'GET', 'http.url': '/ws', 'http.status': 503 }
[20:54:47.065] INFO (#384) http.span=168ms: InterruptError: All fibers interrupted without error {
[cause]: InterruptCause: The fiber was interrupted by:
at fiber (#729)
} { 'http.method': 'GET', 'http.url': '/ws', 'http.status': 503 }
stdout | integration/transferBudgetV2.integration.test.ts > reports V2 thread HTTP and WebSocket transfer budgets
[20:54:47.086] INFO (#1): 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',
'69_ThreadMessageSearch'
]
}
stdout | integration/transferBudgetV2.integration.test.ts > reports V2 thread HTTP and WebSocket transfer budgets
[20:54:47.225] INFO (#1091) http.span=18ms: Sent HTTP response {
'http.method': 'GET',
'http.url': '/api/orchestration/threads/transfer-budget-thread',
'http.status': 200
}
stdout | integration/transferBudgetV2.integration.test.ts > reports V2 thread HTTP and WebSocket transfer budgets
[20:54:47.230] INFO (#1109) http.span=2ms: Sent HTTP response {
'http.method': 'GET',
'http.url': '/api/orchestration/shell',
'http.status': 200
}
stdout | integration/transferBudgetV2.integration.test.ts > reports V2 thread HTTP and WebSocket transfer budgets
[20:54:47.360] INFO (#1147) http.span=127ms: Sent HTTP response { 'http.method': 'GET', 'http.url': '/ws', 'http.status': 101 }
stdout | integration/transferBudgetV2.integration.test.ts > reports V2 thread HTTP and WebSocket transfer budgets
[20:54:47.370] INFO (#1348) http.span=29ms: Sent HTTP response { 'http.method': 'GET', 'http.url': '/ws', 'http.status': 101 }
stdout | integration/transferBudgetV2.integration.test.ts > reports V2 thread HTTP and WebSocket transfer budgets
[20:54:47.371] INFO (#1360) http.span=29ms: InterruptError: All fibers interrupted without error {
[cause]: InterruptCause: The fiber was interrupted by:
at fiber (#1447)
} { 'http.method': 'GET', 'http.url': '/ws', 'http.status': 503 }
[20:54:47.371] INFO (#1137) http.span=139ms: InterruptError: All fibers interrupted without error {
[cause]: InterruptCause: The fiber was interrupted by:
at fiber (#1448)
} { 'http.method': 'GET', 'http.url': '/ws', 'http.status': 503 }
[20:54:47.371] INFO (#1126) http.span=140ms: InterruptError: All fibers interrupted without error {
[cause]: InterruptCause: The fiber was interrupted by:
at fiber (#1449)
} { 'http.method': 'GET', 'http.url': '/ws', 'http.status': 503 }
stdout | integration/transferBudgetV2.integration.test.ts > reports V2 thread HTTP and WebSocket transfer budgets
[20:54:47.375] INFO (#1): # T3 Code thread transfer budget
Wire values are thread data bytes read from local HTTP and WebSocket sockets. HTTP includes response headers; WebSocket measurement starts after the resumed thread subscription synchronizes. TCP/IP, TLS framing, and the WebSocket upgrade are excluded. WebSocket permessage-deflate is negotiated.
The measured turn is observed on three sockets at once: one with only the thread subscription (the capped rows), one with only the shell subscription, and a second client holding both. Server egress is the sum of the three. After the turn the second client disconnects and new sockets resubscribe from the cursor it held before the turn, which is the cursor a backgrounded phone would hold. SQL statements are the SQL client's per-statement spans, counted across V2 persistence and the HTTP/WebSocket handlers.
Scenario: 10 historical turns with 5 command tools and one retained 878.9 KiB (900,000 B) MCP result each, followed by one measured turn with 20 command tools and a retained 1.05 MiB (1,100,000 B) MCP result. Synthetic V2 domain events exercise persistence, wire projection, and production HTTP/subscription handlers; this does not measure provider adapter ingestion. Payloads contain no user data.
| Provider | Total thread wire | Budget | Result |
| --- | ---: | ---: | --- |
| codex | 5.0 KiB (5,098 B) | 6.8 KiB (7,000 B) | PASS |
| claudeAgent | 5.0 KiB (5,086 B) | 6.8 KiB (7,000 B) | PASS |
## Detailed measurements
| Provider | Phase | Metric | Observed | Budget | Result |
| --- | --- | --- | ---: | ---: | --- |
| codex | thread snapshot | HTTP wire | 3.8 KiB (3,879 B) | 4.9 KiB (5,000 B) | PASS |
| codex | measured turn | WebSocket wire | 1.2 KiB (1,219 B) | 2.0 KiB (2,000 B) | PASS |
| codex | measured turn | WebSocket decoded | 20.9 KiB (21,360 B) | 29.3 KiB (30,000 B) | PASS |
| codex | measured turn | WebSocket messages | 2 | 8 | PASS |
| codex | shell snapshot | HTTP wire | 851 B | none | INFO |
| codex | measured turn, shell | WebSocket wire | 650 B | none | INFO |
| codex | measured turn, shell | WebSocket decoded | 1.6 KiB (1,674 B) | none | INFO |
| codex | measured turn, shell | WebSocket messages | 1 | none | INFO |
| codex | measured turn, second client | WebSocket wire | 1.7 KiB (1,714 B) | none | INFO |
| codex | measured turn, second client | WebSocket decoded | 22.5 KiB (23,034 B) | none | INFO |
| codex | measured turn, second client | WebSocket messages | 3 | none | INFO |
| codex | measured turn | server egress wire | 3.5 KiB (3,583 B) | none | INFO |
| codex | measured turn | SQL statements | 20 | none | INFO |
| codex | reconnect, thread (snapshot) | WebSocket wire | 4.1 KiB (4,242 B) | none | INFO |
| codex | reconnect, thread (snapshot) | WebSocket decoded | 80.6 KiB (82,484 B) | none | INFO |
| codex | reconnect, thread (snapshot) | WebSocket messages | 2 | none | INFO |
| codex | reconnect, shell (replay) | WebSocket wire | 877 B | none | INFO |
| codex | reconnect, shell (replay) | WebSocket decoded | 1.7 KiB (1,739 B) | none | INFO |
| codex | reconnect, shell (replay) | WebSocket messages | 2 | none | INFO |
| codex | reconnect | SQL statements | 32 | none | INFO |
| claudeAgent | thread snapshot | HTTP wire | 3.8 KiB (3,889 B) | 4.9 KiB (5,000 B) | PASS |
| claudeAgent | measured turn | WebSocket wire | 1.2 KiB (1,197 B) | 2.0 KiB (2,000 B) | PASS |
| claudeAgent | measured turn | WebSocket decoded | 21.2 KiB (21,669 B) | 29.3 KiB (30,000 B) | PASS |
| claudeAgent | measured turn | WebSocket messages | 1 | 8 | PASS |
| claudeAgent | shell snapshot | HTTP wire | 855 B | none | INFO |
| claudeAgent | measured turn, shell | WebSocket wire | 655 B | none | INFO |
| claudeAgent | measured turn, shell | WebSocket decoded | 1.7 KiB (1,696 B) | none | INFO |
| claudeAgent | measured turn, shell | WebSocket messages | 1 | none | INFO |
| claudeAgent | measured turn, second client | WebSocket wire | 1.7 KiB (1,723 B) | none | INFO |
| claudeAgent | measured turn, second client | WebSocket decoded | 22.9 KiB (23,406 B) | none | INFO |
| claudeAgent | measured turn, second client | WebSocket messages | 3 | none | INFO |
| claudeAgent | measured turn | server egress wire | 3.5 KiB (3,575 B) | none | INFO |
| claudeAgent | measured turn | SQL statements | 18 | none | INFO |
| claudeAgent | reconnect, thread (snapshot) | WebSocket wire | 4.2 KiB (4,250 B) | none | INFO |
| claudeAgent | reconnect, thread (snapshot) | WebSocket decoded | 80.8 KiB (82,750 B) | none | INFO |
| claudeAgent | reconnect, thread (snapshot) | WebSocket messages | 2 | none | INFO |
| claudeAgent | reconnect, shell (replay) | WebSocket wire | 883 B | none | INFO |
| claudeAgent | reconnect, shell (replay) | WebSocket decoded | 1.7 KiB (1,763 B) | none | INFO |
| claudeAgent | reconnect, shell (replay) | WebSocket messages | 2 | none | INFO |
| claudeAgent | reconnect | SQL statements | 32 | none | INFO |
## Compression diagnostics
- codex: thread snapshot 108.5 KiB (111,145 B) decoded to 3.6 KiB (3,703 B) gzip.
- codex: shell snapshot 1.6 KiB (1,651 B) decoded to 676 B gzip.
- claudeAgent: thread snapshot 108.8 KiB (111,447 B) decoded to 3.6 KiB (3,713 B) gzip.
- claudeAgent: shell snapshot 1.6 KiB (1,673 B) decoded to 680 B gzip.
โ integration/transferBudgetV2.integration.test.ts (1 test) 705ms
โ reports V2 thread HTTP and WebSocket transfer budgets 705ms
โ src/persistence/Migrations/026_CanonicalizeModelSelectionOptions.test.ts (1 test) 18ms
โ src/mcp/TaskCancelNativeSubagent.integration.test.ts (1 test) 361ms
โ task_cancel ends a delegated child's background native subagent 360ms
โ src/serverRuntimeStartup.test.ts (8 tests) 16ms
โ src/process/agentScope.test.ts (10 tests) 46ms
โ src/preview/Manager.test.ts (8 tests) 15ms
โ src/serverLogger.test.ts (7 tests) 16ms
โ src/resourceTelemetry/ResourceTelemetryHistory.test.ts (6 tests) 4ms
โ src/cloud/CloudLink.test.ts (6 tests) 26ms
โ src/provider/claudeResetCredits.test.ts (7 tests) 25ms
โ src/pullRequest/PullRequestReadCache.test.ts (7 tests) 26ms
โ src/observability/OtlpEndpointCheck.test.ts (5 tests) 33ms
โ src/terminal/NodePtyAdapter.test.ts (10 tests) 14ms
โ src/attachmentStore.test.ts (10 tests) 6ms
โ src/project/WorktreeSetupTracker.test.ts (5 tests) 10ms
โ src/htmlRender/publicProxy.test.ts (3 tests) 16ms
โ src/persistence/Migrations.test.ts (7 tests) 140ms
โ src/cloud/relayResponse.test.ts (8 tests) 13ms
โ src/orchestration-v2/RunFinalizationService.test.ts (5 tests) 7ms
โ src/bootstrap.test.ts (3 tests) 11ms
โ src/orchestration-v2/ProjectCommands.test.ts (3 tests) 3ms
โ src/orchestration-v2/RuntimePolicy.test.ts (1 test) 4ms
โ src/provider/Drivers/ClaudeSkillDispatch.test.ts (7 tests) 3ms
โ src/device/DeviceHubProxy.stream.test.ts (1 test) 30ms
โ src/auth/replayMarkers.test.ts (1 test) 17ms
โ src/utils/subscribeBeforeSnapshot.test.ts (2 tests) 8ms
โ src/orchestration-v2/workflowAgentTranscript.test.ts (1 test) 8ms
โ src/cli/triagePrompt.test.ts (3 tests) 2ms
โ src/provider/OpenCode2Client.events.test.ts (1 test) 18ms
โ src/orchestration-v2/testkit/OpenCodeReplayFixtures.integration.test.ts (22 tests) 5928ms
โ OpenCode replay fixtures (22)
โ runs simple/opencode through OrchestratorV2 using deterministic replay 319ms
โ runs opencode2_inbox/opencode through OrchestratorV2 using deterministic replay 345ms
โ runs opencode2_revert/opencode through OrchestratorV2 using deterministic replay 331ms
โ runs opencode2_permission/opencode through OrchestratorV2 using deterministic replay 303ms
โ runs opencode2_background/opencode through OrchestratorV2 using deterministic replay 342ms
โ runs opencode2_compaction/opencode through OrchestratorV2 using deterministic replay 421ms
โ runs opencode2_resume_after_restart/opencode through OrchestratorV2 using deterministic replay 322ms
โ runs opencode2_background when session.execution.started.3 is an execution start this build cannot decode 331ms
โ src/device/sshDeviceScript.test.ts (2 tests) 8ms
โ src/persistence/Migrations/063_DropUnusedV1Projections.test.ts (1 test) 37ms
โ src/mcp/toolkits/device/handlers.test.ts (2 tests) 2ms
โ src/cli/triage.test.ts (1 test) 7ms
โ src/observability/EventLoopMonitor.test.ts (1 test) 1ms
โ src/orchestration-v2/testkit/CursorReplayFixtures.integration.test.ts (11 tests) 2993ms
โ Cursor replay fixtures (11)
โ runs simple/cursor through OrchestratorV2 using deterministic replay 354ms
โ runs subagent/cursor through OrchestratorV2 using deterministic replay 319ms
โ runs multi_turn/cursor through OrchestratorV2 using deterministic replay 310ms
โ runs queued_turn/cursor through OrchestratorV2 using deterministic replay 306ms
โ src/provider/ClaudeCapabilitiesProbe.test.ts (1 test) 1ms
Test Files 52 passed (52)
Tests 519 passed (519)
Start at 20:54:19
Duration 53.99s (tests 45%, import 42%, transform 10%, setup 3%)
Import 1365 modules were evaluated 17282 times ยท 21.64s total, 42% of tracked time
~19.93s 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: 149
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 395
GITHUB_REPO_NAME: pingdotgg/t3code
โธ Run if test -f "/home/runner/_work/_temp/t3code-transfer-budget.md"; then
if test -f "/home/runner/_work/_temp/t3code-transfer-budget.md"; then
tee -a "$GITHUB_STEP_SUMMARY" < "/home/runner/_work/_temp/t3code-transfer-budget.md"
else
echo "Transfer budget report was not produced." >> "$GITHUB_STEP_SUMMARY"
fi
shell: /usr/bin/bash -e {0}
env:
BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 149
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 395
GITHUB_REPO_NAME: pingdotgg/t3code
# T3 Code thread transfer budget
Wire values are thread data bytes read from local HTTP and WebSocket sockets. HTTP includes response headers; WebSocket measurement starts after the resumed thread subscription synchronizes. TCP/IP, TLS framing, and the WebSocket upgrade are excluded. WebSocket permessage-deflate is negotiated.
The measured turn is observed on three sockets at once: one with only the thread subscription (the capped rows), one with only the shell subscription, and a second client holding both. Server egress is the sum of the three. After the turn the second client disconnects and new sockets resubscribe from the cursor it held before the turn, which is the cursor a backgrounded phone would hold. SQL statements are the SQL client's per-statement spans, counted across V2 persistence and the HTTP/WebSocket handlers.
Scenario: 10 historical turns with 5 command tools and one retained 878.9 KiB (900,000 B) MCP result each, followed by one measured turn with 20 command tools and a retained 1.05 MiB (1,100,000 B) MCP result. Synthetic V2 domain events exercise persistence, wire projection, and production HTTP/subscription handlers; this does not measure provider adapter ingestion. Payloads contain no user data.
| Provider | Total thread wire | Budget | Result |
| --- | ---: | ---: | --- |
| codex | 5.0 KiB (5,098 B) | 6.8 KiB (7,000 B) | PASS |
| claudeAgent | 5.0 KiB (5,086 B) | 6.8 KiB (7,000 B) | PASS |
## Detailed measurements
| Provider | Phase | Metric | Observed | Budget | Result |
| --- | --- | --- | ---: | ---: | --- |
| codex | thread snapshot | HTTP wire | 3.8 KiB (3,879 B) | 4.9 KiB (5,000 B) | PASS |
| codex | measured turn | WebSocket wire | 1.2 KiB (1,219 B) | 2.0 KiB (2,000 B) | PASS |
| codex | measured turn | WebSocket decoded | 20.9 KiB (21,360 B) | 29.3 KiB (30,000 B) | PASS |
| codex | measured turn | WebSocket messages | 2 | 8 | PASS |
| codex | shell snapshot | HTTP wire | 851 B | none | INFO |
| codex | measured turn, shell | WebSocket wire | 650 B | none | INFO |
| codex | measured turn, shell | WebSocket decoded | 1.6 KiB (1,674 B) | none | INFO |
| codex | measured turn, shell | WebSocket messages | 1 | none | INFO |
| codex | measured turn, second client | WebSocket wire | 1.7 KiB (1,714 B) | none | INFO |
| codex | measured turn, second client | WebSocket decoded | 22.5 KiB (23,034 B) | none | INFO |
| codex | measured turn, second client | WebSocket messages | 3 | none | INFO |
| codex | measured turn | server egress wire | 3.5 KiB (3,583 B) | none | INFO |
| codex | measured turn | SQL statements | 20 | none | INFO |
| codex | reconnect, thread (snapshot) | WebSocket wire | 4.1 KiB (4,242 B) | none | INFO |
| codex | reconnect, thread (snapshot) | WebSocket decoded | 80.6 KiB (82,484 B) | none | INFO |
| codex | reconnect, thread (snapshot) | WebSocket messages | 2 | none | INFO |
| codex | reconnect, shell (replay) | WebSocket wire | 877 B | none | INFO |
| codex | reconnect, shell (replay) | WebSocket decoded | 1.7 KiB (1,739 B) | none | INFO |
| codex | reconnect, shell (replay) | WebSocket messages | 2 | none | INFO |
| codex | reconnect | SQL statements | 32 | none | INFO |
| claudeAgent | thread snapshot | HTTP wire | 3.8 KiB (3,889 B) | 4.9 KiB (5,000 B) | PASS |
| claudeAgent | measured turn | WebSocket wire | 1.2 KiB (1,197 B) | 2.0 KiB (2,000 B) | PASS |
| claudeAgent | measured turn | WebSocket decoded | 21.2 KiB (21,669 B) | 29.3 KiB (30,000 B) | PASS |
| claudeAgent | measured turn | WebSocket messages | 1 | 8 | PASS |
| claudeAgent | shell snapshot | HTTP wire | 855 B | none | INFO |
| claudeAgent | measured turn, shell | WebSocket wire | 655 B | none | INFO |
| claudeAgent | measured turn, shell | WebSocket decoded | 1.7 KiB (1,696 B) | none | INFO |
| claudeAgent | measured turn, shell | WebSocket messages | 1 | none | INFO |
| claudeAgent | measured turn, second client | WebSocket wire | 1.7 KiB (1,723 B) | none | INFO |
| claudeAgent | measured turn, second client | WebSocket decoded | 22.9 KiB (23,406 B) | none | INFO |
| claudeAgent | measured turn, second client | WebSocket messages | 3 | none | INFO |
| claudeAgent | measured turn | server egress wire | 3.5 KiB (3,575 B) | none | INFO |
| claudeAgent | measured turn | SQL statements | 18 | none | INFO |
| claudeAgent | reconnect, thread (snapshot) | WebSocket wire | 4.2 KiB (4,250 B) | none | INFO |
| claudeAgent | reconnect, thread (snapshot) | WebSocket decoded | 80.8 KiB (82,750 B) | none | INFO |
| claudeAgent | reconnect, thread (snapshot) | WebSocket messages | 2 | none | INFO |
| claudeAgent | reconnect, shell (replay) | WebSocket wire | 883 B | none | INFO |
| claudeAgent | reconnect, shell (replay) | WebSocket decoded | 1.7 KiB (1,763 B) | none | INFO |
| claudeAgent | reconnect, shell (replay) | WebSocket messages | 2 | none | INFO |
| claudeAgent | reconnect | SQL statements | 32 | none | INFO |
## Compression diagnostics
- codex: thread snapshot 108.5 KiB (111,145 B) decoded to 3.6 KiB (3,703 B) gzip.
- codex: shell snapshot 1.6 KiB (1,651 B) decoded to 676 B gzip.
- claudeAgent: thread snapshot 108.8 KiB (111,447 B) decoded to 3.6 KiB (3,713 B) gzip.
- claudeAgent: shell snapshot 1.6 KiB (1,673 B) decoded to 680 B gzip.
โธ Run actions/upload-artifact@v7
with:
name: thread-transfer-results
path: /home/runner/_work/_temp/thread-transfer-result.json
if-no-files-found: ignore
retention-days: 30
compression-level: 6
overwrite: false
include-hidden-files: false
archive: true
env:
BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 149
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 395
GITHUB_REPO_NAME: pingdotgg/t3code
With the provided path, there will be 1 file uploaded
Artifact name is valid!
Root directory input is valid!
Uploading artifact: thread-transfer-results.zip
Beginning upload of artifact content to blob storage
Uploaded bytes 507
Finished uploading artifact content to blob storage!
SHA256 digest of uploaded artifact is 67ce07ff05d41e6eb79a307699552c5eeb122fff866911b35995d31ade89372b
Finalizing artifact upload
Artifact thread-transfer-results successfully finalized. Artifact ID 12575151956
Artifact thread-transfer-results has been successfully uploaded! Final size is 507 bytes. Artifact ID is 12575151956
Artifact download URL: https://github.com/pingdotgg/t3code/actions/runs/40131829321/artifacts/12575151956
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=__289eaaa2-a659-4b15-8289-f41fd11a8fa1.__actions_cache]
Post job cleanup.
Cache hit occurred on the primary key pnpm-full-v1-Linux-X64-bab31c3827e90e1352d302da4c761fd1b91963ae565f5f0ea70972d0942af1f6, not saving cache.
##[end-action id=__289eaaa2-a659-4b15-8289-f41fd11a8fa1.__actions_cache;outcome=success;conclusion=success;duration_ms=101]
##[start-action display=Cache Vite+;id=__289eaaa2-a659-4b15-8289-f41fd11a8fa1.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=__289eaaa2-a659-4b15-8289-f41fd11a8fa1.vp_cache;outcome=success;conclusion=success;duration_ms=72]
Post job cleanup.
[command]/usr/local/bin/git version
git version 2.55.0
Temporarily overriding HOME='/home/runner/_work/_temp/6ce11da5-9a5d-4830-b45e-657afa709206' 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: 149
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 395
BLACKSMITH_CHECK_RUN_ID: 120984969747
BLACKSMITH_JOB_DISPLAY_NAME: Test Server 8
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