2026-11-11T05:46:14.4782474Z Current runner version: '2.338.2' 2026-11-11T05:46:14.4786049Z Runner name: 'blacksmith-8vcpu-ubuntu-2404-g3jjywda5gjkjnz7' 2026-11-11T05:46:14.4786620Z Runner group name: 'blacksmith scale sets - blacksmith-8vcpu-ubuntu-2404' 2026-11-11T05:46:14.4787325Z Machine name: 'ip-172-31-73-130' 2026-11-11T05:46:14.4788605Z ##[group]GITHUB_TOKEN Permissions 2026-11-11T05:46:14.4789781Z Contents: read 2026-11-11T05:46:14.4790125Z Metadata: read 2026-11-11T05:46:14.4790440Z ##[endgroup] 2026-11-11T05:46:14.4793295Z Secret source: Actions 2026-11-11T05:46:14.4793790Z Cache mode: write 2026-11-11T05:46:14.4794159Z Prepare workflow directory 2026-11-11T05:46:14.4970274Z Prepare all required actions 2026-11-11T05:46:14.4996693Z Getting action download info 2026-11-11T05:46:14.6067087Z Download action repository 'actions/checkout@v6' (SHA:d23441a48e516b6c34aea4fa41551a30e30af803) 2026-11-11T05:46:14.6822799Z Setting BLACKSMITH_ACTIONS_RESULTS_URL to https://results-receiver.actions.githubusercontent.com/ 2026-11-11T05:46:14.6863571Z Complete job name: Build and Typecheck 2026-11-11T05:46:14.7245974Z A job started hook has been configured by the self-hosted runner administrator 2026-11-11T05:46:14.7307202Z ##[group]Run '/setup.sh' 2026-11-11T05:46:14.7315819Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-11-11T05:46:14.7316255Z env: 2026-11-11T05:46:14.7316496Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 199 2026-11-11T05:46:14.7316805Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 335 2026-11-11T05:46:14.7317105Z BLACKSMITH_CHECK_RUN_ID: 130349287773 2026-11-11T05:46:14.7317429Z BLACKSMITH_JOB_DISPLAY_NAME: Build and Typecheck 2026-11-11T05:46:14.7317761Z GITHUB_ACTIONS_CACHE_MODE: write 2026-11-11T05:46:14.7318036Z ##[endgroup] 2026-11-11T05:46:14.7547518Z Logging daemon started (blacksmithd for logs) 2026-11-11T05:46:14.7634988Z Results daemon started (blacksmithd for results) 2026-11-11T05:46:14.7768797Z Background adoption and SSH setup started (PID: 3200) 2026-11-11T05:46:14.7769147Z 2026-11-11T05:46:14.7769266Z ---------------------------------------- 2026-11-11T05:46:14.7769798Z View this job: https://app.blacksmith.sh/pingdotgg/runs/42967887445/jobs/130349287773 2026-11-11T05:46:14.7770271Z SSH Access (using your GitHub SSH key): 2026-11-11T05:46:14.7770727Z ssh -p 64001 runner@blacksmith-8vcpu-ubuntu-2404-g3jjywda5gjkjnz7.vm.blacksmith.sh 2026-11-11T05:46:14.7771045Z 2026-11-11T05:46:14.7771157Z No GitHub SSH key? Add one at: 2026-11-11T05:46:14.7771662Z https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account 2026-11-11T05:46:14.7772073Z 2026-11-11T05:46:14.7772186Z ---------------------------------------- 2026-11-11T05:46:14.7772366Z 2026-11-11T05:46:14.7772514Z VM ID: blacksmith-8vcpu-ubuntu-2404-g3jjywda5gjkjnz7 2026-11-11T05:46:14.7772847Z Host: production-152.236.46.157-x8664 2026-11-11T05:46:14.7773125Z Host Agent PID: 3020896 2026-11-11T05:46:14.7773381Z Host Agent Git SHA: db010f00b 2026-11-11T05:46:14.7773655Z Host CPU Manufacturer: AuthenticAMD 2026-11-11T05:46:14.7773947Z Blacksmith Host Generation: gen 2 2026-11-11T05:46:14.7774239Z Petname: production-musical-dove-2085adc7 2026-11-11T05:46:14.7774532Z Region: us-east 2026-11-11T05:46:14.7774856Z Rootfs Version: ubuntu24-full-x64-081926 2026-11-11T05:46:14.7780972Z OS Version: Ubuntu 24.04.4 LTS 2026-11-11T05:46:14.7781750Z 2026-11-11T05:46:14.7781878Z Enabling Blacksmith transparent cache 2026-11-11T05:46:14.8051791Z ##[group]Run actions/checkout@v6 2026-11-11T05:46:14.8052109Z with: 2026-11-11T05:46:14.8052535Z sparse-checkout: /* !/.repos/ !/apps/mobile/modules/t3-terminal/Vendor/**/*.a 2026-11-11T05:46:14.8052943Z sparse-checkout-cone-mode: false 2026-11-11T05:46:14.8053230Z repository: pingdotgg/t3code 2026-11-11T05:46:14.8055129Z token: *** 2026-11-11T05:46:14.8055352Z ssh-strict: true 2026-11-11T05:46:14.8055584Z ssh-user: git 2026-11-11T05:46:14.8055817Z persist-credentials: true 2026-11-11T05:46:14.8056075Z clean: true 2026-11-11T05:46:14.8056296Z fetch-depth: 1 2026-11-11T05:46:14.8058165Z fetch-tags: false 2026-11-11T05:46:14.8058398Z show-progress: true 2026-11-11T05:46:14.8058634Z lfs: false 2026-11-11T05:46:14.8058851Z submodules: false 2026-11-11T05:46:14.8059087Z set-safe-directory: true 2026-11-11T05:46:14.8059353Z allow-unsafe-pr-checkout: false 2026-11-11T05:46:14.8059619Z env: 2026-11-11T05:46:14.8059869Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 199 2026-11-11T05:46:14.8060200Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 335 2026-11-11T05:46:14.8060494Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-11-11T05:46:14.8060768Z ##[endgroup] 2026-11-11T05:46:14.8882991Z Syncing repository: pingdotgg/t3code 2026-11-11T05:46:14.8883941Z ##[group]Getting Git version info 2026-11-11T05:46:14.8884286Z Working directory is '/home/runner/_work/t3code/t3code' 2026-11-11T05:46:14.8884783Z [command]/usr/local/bin/git version 2026-11-11T05:46:14.8942219Z git version 2.55.0 2026-11-11T05:46:14.8954120Z ##[endgroup] 2026-11-11T05:46:14.8961441Z Temporarily overriding HOME='/home/runner/_work/_temp/d4c3477f-0660-496b-864c-0de5548e39f8' before making global git config changes 2026-11-11T05:46:14.8962106Z Adding repository directory to the temporary git global config as a safe directory 2026-11-11T05:46:14.8965135Z [command]/usr/local/bin/git config --global --add safe.directory /home/runner/_work/t3code/t3code 2026-11-11T05:46:14.8998380Z Deleting the contents of '/home/runner/_work/t3code/t3code' 2026-11-11T05:46:14.9000063Z ##[group]Determining repository object format 2026-11-11T05:46:14.9001231Z ##[endgroup] 2026-11-11T05:46:14.9001604Z ##[group]Initializing the repository 2026-11-11T05:46:14.9004094Z [command]/usr/local/bin/git init /home/runner/_work/t3code/t3code 2026-11-11T05:46:14.9039936Z hint: Using 'master' as the name for the initial branch. This default branch name 2026-11-11T05:46:14.9040442Z hint: will change to "main" in Git 3.0. To configure the initial branch name 2026-11-11T05:46:14.9040904Z hint: to use in all of your new repositories, which will suppress this warning, 2026-11-11T05:46:14.9041288Z hint: call: 2026-11-11T05:46:14.9041502Z hint: 2026-11-11T05:46:14.9041783Z hint: git config --global init.defaultBranch 2026-11-11T05:46:14.9042100Z hint: 2026-11-11T05:46:14.9042404Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 2026-11-11T05:46:14.9042865Z hint: 'development'. The just-created branch can be renamed via this command: 2026-11-11T05:46:14.9043247Z hint: 2026-11-11T05:46:14.9043468Z hint: git branch -m 2026-11-11T05:46:14.9043716Z hint: 2026-11-11T05:46:14.9044034Z hint: Disable this message with "git config set advice.defaultBranchName false" 2026-11-11T05:46:14.9044518Z Initialized empty Git repository in /home/runner/_work/t3code/t3code/.git/ 2026-11-11T05:46:14.9046384Z [command]/usr/local/bin/git remote add origin https://github.com/pingdotgg/t3code 2026-11-11T05:46:14.9102762Z ##[endgroup] 2026-11-11T05:46:14.9103148Z ##[group]Disabling automatic garbage collection 2026-11-11T05:46:14.9105489Z [command]/usr/local/bin/git config --local gc.auto 0 2026-11-11T05:46:14.9127061Z ##[endgroup] 2026-11-11T05:46:14.9127424Z ##[group]Setting up auth 2026-11-11T05:46:14.9127877Z Removing SSH command configuration 2026-11-11T05:46:14.9131575Z [command]/usr/local/bin/git config --local --name-only --get-regexp core\.sshCommand 2026-11-11T05:46:14.9154366Z [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' || :" 2026-11-11T05:46:14.9284532Z Removing HTTP extra header 2026-11-11T05:46:14.9287777Z [command]/usr/local/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader 2026-11-11T05:46:14.9308573Z [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' || :" 2026-11-11T05:46:14.9408905Z Removing includeIf entries pointing to credentials config files 2026-11-11T05:46:14.9412671Z [command]/usr/local/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir: 2026-11-11T05:46:14.9439925Z [command]/usr/local/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url 2026-11-11T05:46:14.9553349Z [command]/usr/local/bin/git config --file /home/runner/_work/_temp/git-credentials-7f3610f0-2ffd-4f10-bcaf-5793f39a8dc6.config http.https://github.com/.extraheader AUTHORIZATION: basic *** 2026-11-11T05:46:14.9580334Z [command]/usr/local/bin/git config --local includeIf.gitdir:/home/runner/_work/t3code/t3code/.git.path /home/runner/_work/_temp/git-credentials-7f3610f0-2ffd-4f10-bcaf-5793f39a8dc6.config 2026-11-11T05:46:14.9606597Z [command]/usr/local/bin/git config --local includeIf.gitdir:/home/runner/_work/t3code/t3code/.git/worktrees/*.path /home/runner/_work/_temp/git-credentials-7f3610f0-2ffd-4f10-bcaf-5793f39a8dc6.config 2026-11-11T05:46:14.9627998Z [command]/usr/local/bin/git config --local includeIf.gitdir:/github/workspace/.git.path /github/runner_temp/git-credentials-7f3610f0-2ffd-4f10-bcaf-5793f39a8dc6.config 2026-11-11T05:46:14.9653659Z [command]/usr/local/bin/git config --local includeIf.gitdir:/github/workspace/.git/worktrees/*.path /github/runner_temp/git-credentials-7f3610f0-2ffd-4f10-bcaf-5793f39a8dc6.config 2026-11-11T05:46:14.9675145Z ##[endgroup] 2026-11-11T05:46:14.9675540Z ##[group]Fetching the repository 2026-11-11T05:46:14.9680002Z [command]/usr/local/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --filter=blob:none --depth=1 origin +15012e48d52174644dc8b0a91386fe2ea1375415:refs/remotes/pull/23415/merge 2026-11-11T05:46:15.2630081Z From https://github.com/pingdotgg/t3code 2026-11-11T05:46:15.2631093Z * [new ref] 15012e48d52174644dc8b0a91386fe2ea1375415 -> pull/23415/merge 2026-11-11T05:46:15.2656224Z ##[endgroup] 2026-11-11T05:46:15.2656981Z ##[group]Determining the checkout info 2026-11-11T05:46:15.2657898Z ##[endgroup] 2026-11-11T05:46:15.2658623Z ##[group]Setting up sparse checkout 2026-11-11T05:46:15.2660701Z [command]/usr/local/bin/git config core.sparseCheckout true 2026-11-11T05:46:15.2685576Z [command]/usr/local/bin/git rev-parse --git-path info/sparse-checkout 2026-11-11T05:46:15.2704625Z .git/info/sparse-checkout 2026-11-11T05:46:15.2709428Z ##[endgroup] 2026-11-11T05:46:15.2710445Z ##[group]Checking out the ref 2026-11-11T05:46:15.2712069Z [command]/usr/local/bin/git checkout --progress --force refs/remotes/pull/23415/merge 2026-11-11T05:46:26.4105371Z Updating files: 0% (1/7043) 2026-11-11T05:46:26.4138028Z Updating files: 1% (71/7043) 2026-11-11T05:46:26.4158575Z Updating files: 2% (141/7043) 2026-11-11T05:46:26.4188198Z Updating files: 3% (212/7043) 2026-11-11T05:46:26.4216454Z Updating files: 4% (282/7043) 2026-11-11T05:46:26.4250964Z Updating files: 5% (353/7043) 2026-11-11T05:46:26.4325070Z Updating files: 6% (423/7043) 2026-11-11T05:46:26.4356153Z Updating files: 7% (494/7043) 2026-11-11T05:46:26.4383528Z Updating files: 8% (564/7043) 2026-11-11T05:46:26.4643487Z Updating files: 9% (634/7043) 2026-11-11T05:46:26.4658896Z Updating files: 10% (705/7043) 2026-11-11T05:46:26.4672258Z Updating files: 11% (775/7043) 2026-11-11T05:46:26.4689072Z Updating files: 12% (846/7043) 2026-11-11T05:46:26.4704286Z Updating files: 13% (916/7043) 2026-11-11T05:46:26.4721349Z Updating files: 14% (987/7043) 2026-11-11T05:46:26.4738231Z Updating files: 15% (1057/7043) 2026-11-11T05:46:26.4755778Z Updating files: 16% (1127/7043) 2026-11-11T05:46:26.4771848Z Updating files: 17% (1198/7043) 2026-11-11T05:46:26.4790308Z Updating files: 18% (1268/7043) 2026-11-11T05:46:26.4812117Z Updating files: 19% (1339/7043) 2026-11-11T05:46:26.4832002Z Updating files: 20% (1409/7043) 2026-11-11T05:46:26.4846690Z Updating files: 21% (1480/7043) 2026-11-11T05:46:26.4860087Z Updating files: 22% (1550/7043) 2026-11-11T05:46:26.4876368Z Updating files: 23% (1620/7043) 2026-11-11T05:46:26.4888966Z Updating files: 24% (1691/7043) 2026-11-11T05:46:26.4908742Z Updating files: 25% (1761/7043) 2026-11-11T05:46:26.4929295Z Updating files: 26% (1832/7043) 2026-11-11T05:46:26.4951788Z Updating files: 27% (1902/7043) 2026-11-11T05:46:26.4978978Z Updating files: 28% (1973/7043) 2026-11-11T05:46:26.5005363Z Updating files: 29% (2043/7043) 2026-11-11T05:46:26.5041450Z Updating files: 30% (2113/7043) 2026-11-11T05:46:26.5111292Z Updating files: 31% (2184/7043) 2026-11-11T05:46:26.5162643Z Updating files: 32% (2254/7043) 2026-11-11T05:46:26.5202152Z Updating files: 33% (2325/7043) 2026-11-11T05:46:26.5240406Z Updating files: 34% (2395/7043) 2026-11-11T05:46:26.5274095Z Updating files: 35% (2466/7043) 2026-11-11T05:46:26.5301270Z Updating files: 36% (2536/7043) 2026-11-11T05:46:26.5329784Z Updating files: 37% (2606/7043) 2026-11-11T05:46:26.5350775Z Updating files: 38% (2677/7043) 2026-11-11T05:46:26.5363698Z Updating files: 39% (2747/7043) 2026-11-11T05:46:26.5379382Z Updating files: 40% (2818/7043) 2026-11-11T05:46:26.5416956Z Updating files: 41% (2888/7043) 2026-11-11T05:46:26.5444549Z Updating files: 42% (2959/7043) 2026-11-11T05:46:26.5474086Z Updating files: 43% (3029/7043) 2026-11-11T05:46:26.5504877Z Updating files: 44% (3099/7043) 2026-11-11T05:46:26.5542601Z Updating files: 45% (3170/7043) 2026-11-11T05:46:26.5573899Z Updating files: 46% (3240/7043) 2026-11-11T05:46:26.5599595Z Updating files: 47% (3311/7043) 2026-11-11T05:46:26.5621805Z Updating files: 48% (3381/7043) 2026-11-11T05:46:26.5656461Z Updating files: 49% (3452/7043) 2026-11-11T05:46:26.5697616Z Updating files: 50% (3522/7043) 2026-11-11T05:46:26.5724347Z Updating files: 51% (3592/7043) 2026-11-11T05:46:26.5751372Z Updating files: 52% (3663/7043) 2026-11-11T05:46:26.5777876Z Updating files: 53% (3733/7043) 2026-11-11T05:46:26.5798232Z Updating files: 54% (3804/7043) 2026-11-11T05:46:26.5816387Z Updating files: 55% (3874/7043) 2026-11-11T05:46:26.5855240Z Updating files: 56% (3945/7043) 2026-11-11T05:46:26.5883433Z Updating files: 57% (4015/7043) 2026-11-11T05:46:26.5908935Z Updating files: 58% (4085/7043) 2026-11-11T05:46:26.5936833Z Updating files: 59% (4156/7043) 2026-11-11T05:46:26.5954814Z Updating files: 60% (4226/7043) 2026-11-11T05:46:26.5970371Z Updating files: 61% (4297/7043) 2026-11-11T05:46:26.6314027Z Updating files: 62% (4367/7043) 2026-11-11T05:46:26.6333476Z Updating files: 63% (4438/7043) 2026-11-11T05:46:26.6353786Z Updating files: 64% (4508/7043) 2026-11-11T05:46:26.6374477Z Updating files: 65% (4578/7043) 2026-11-11T05:46:26.6398681Z Updating files: 66% (4649/7043) 2026-11-11T05:46:26.6429152Z Updating files: 67% (4719/7043) 2026-11-11T05:46:26.6448295Z Updating files: 68% (4790/7043) 2026-11-11T05:46:26.6467276Z Updating files: 69% (4860/7043) 2026-11-11T05:46:26.6489645Z Updating files: 70% (4931/7043) 2026-11-11T05:46:26.6504844Z Updating files: 71% (5001/7043) 2026-11-11T05:46:26.6524624Z Updating files: 72% (5071/7043) 2026-11-11T05:46:26.6539009Z Updating files: 73% (5142/7043) 2026-11-11T05:46:26.6560257Z Updating files: 74% (5212/7043) 2026-11-11T05:46:26.6573390Z Updating files: 75% (5283/7043) 2026-11-11T05:46:26.6620242Z Updating files: 76% (5353/7043) 2026-11-11T05:46:26.7006568Z Updating files: 77% (5424/7043) 2026-11-11T05:46:26.7031201Z Updating files: 78% (5494/7043) 2026-11-11T05:46:26.7053802Z Updating files: 79% (5564/7043) 2026-11-11T05:46:26.7079871Z Updating files: 80% (5635/7043) 2026-11-11T05:46:26.7100326Z Updating files: 81% (5705/7043) 2026-11-11T05:46:26.7122256Z Updating files: 82% (5776/7043) 2026-11-11T05:46:26.7141066Z Updating files: 83% (5846/7043) 2026-11-11T05:46:26.7160066Z Updating files: 84% (5917/7043) 2026-11-11T05:46:26.7184788Z Updating files: 85% (5987/7043) 2026-11-11T05:46:26.7209228Z Updating files: 86% (6057/7043) 2026-11-11T05:46:26.7230032Z Updating files: 87% (6128/7043) 2026-11-11T05:46:26.7292316Z Updating files: 88% (6198/7043) 2026-11-11T05:46:26.7324538Z Updating files: 89% (6269/7043) 2026-11-11T05:46:26.7343049Z Updating files: 90% (6339/7043) 2026-11-11T05:46:26.7370517Z Updating files: 91% (6410/7043) 2026-11-11T05:46:26.7403655Z Updating files: 92% (6480/7043) 2026-11-11T05:46:26.7419394Z Updating files: 93% (6550/7043) 2026-11-11T05:46:26.7438674Z Updating files: 94% (6621/7043) 2026-11-11T05:46:26.7460758Z Updating files: 95% (6691/7043) 2026-11-11T05:46:26.7487473Z Updating files: 96% (6762/7043) 2026-11-11T05:46:26.7541697Z Updating files: 97% (6832/7043) 2026-11-11T05:46:26.7590438Z Updating files: 98% (6903/7043) 2026-11-11T05:46:26.7615536Z Updating files: 99% (6973/7043) 2026-11-11T05:46:26.7615952Z Updating files: 100% (7043/7043) 2026-11-11T05:46:26.7616163Z Updating files: 100% (7043/7043), done. 2026-11-11T05:46:26.7776817Z Note: switching to 'refs/remotes/pull/23415/merge'. 2026-11-11T05:46:26.7777063Z 2026-11-11T05:46:26.7777192Z You are in 'detached HEAD' state. You can look around, make experimental 2026-11-11T05:46:26.7777457Z changes and commit them, and you can discard any commits you make in this 2026-11-11T05:46:26.7777728Z state without impacting any branches by switching back to a branch. 2026-11-11T05:46:26.7777880Z 2026-11-11T05:46:26.7777988Z If you want to create a new branch to retain commits you create, you may 2026-11-11T05:46:26.7778237Z do so (now or later) by using -c with the switch command. Example: 2026-11-11T05:46:26.7778412Z 2026-11-11T05:46:26.7778483Z git switch -c 2026-11-11T05:46:26.7778654Z 2026-11-11T05:46:26.7778721Z Or undo this operation with: 2026-11-11T05:46:26.7778816Z 2026-11-11T05:46:26.7778869Z git switch - 2026-11-11T05:46:26.7778955Z 2026-11-11T05:46:26.7779085Z Turn off this advice by setting config variable advice.detachedHead to false 2026-11-11T05:46:26.7779250Z 2026-11-11T05:46:26.7779436Z HEAD is now at 15012e4 Merge dbfa670d6e2dd08ef57291ee6c0385f9129055cc into f021c92cc97ceadef2a4d311df336aee77f31e3d 2026-11-11T05:46:26.7792217Z ##[endgroup] 2026-11-11T05:46:26.7828417Z [command]/usr/local/bin/git log -1 --format=%H 2026-11-11T05:46:26.7846543Z 15012e48d52174644dc8b0a91386fe2ea1375415 2026-11-11T05:46:26.7980883Z Prepare all required actions 2026-11-11T05:46:26.8005640Z ##[group]Run ./.github/actions/setup-apt-mirrors 2026-11-11T05:46:26.8005822Z env: 2026-11-11T05:46:26.8005948Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 199 2026-11-11T05:46:26.8006114Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 335 2026-11-11T05:46:26.8006273Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-11-11T05:46:26.8006423Z ##[endgroup] 2026-11-11T05:46:26.8048786Z ##[start-action display=Run # Replace the existing Blacksmith mirror list as well as direct sources.;id=__self.__run] 2026-11-11T05:46:26.8066931Z ##[group]Run # Replace the existing Blacksmith mirror list as well as direct sources. 2026-11-11T05:46:26.8067293Z # Replace the existing Blacksmith mirror list as well as direct sources. 2026-11-11T05:46:26.8067527Z printf '%s\tpriority:%s\n' \ 2026-11-11T05:46:26.8067721Z  https://archive.ubuntu.com/ubuntu 1 \ 2026-11-11T05:46:26.8067961Z  https://mirrors.edge.kernel.org/ubuntu 2 \ 2026-11-11T05:46:26.8068183Z  https://mirror.math.princeton.edu/pub/ubuntu 3 \ 2026-11-11T05:46:26.8068430Z  | sudo tee /etc/apt/blacksmith-ubuntu-mirrors.txt > /dev/null 2026-11-11T05:46:26.8068630Z  2026-11-11T05:46:26.8068809Z # APT's mirror transport retries each file against the next server. 2026-11-11T05:46:26.8069102Z sudo find /etc/apt -maxdepth 2 -type f \( -name '*.list' -o -name '*.sources' \) \ 2026-11-11T05:46:26.8069347Z  -exec sed -i -E \ 2026-11-11T05:46:26.8069641Z  's#https?://(([^/]+\.)?archive|security)\.ubuntu\.com/ubuntu/?#mirror+file:/etc/apt/blacksmith-ubuntu-mirrors.txt#g' {} + 2026-11-11T05:46:26.8070049Z  2026-11-11T05:46:26.8070227Z # Move on to a fallback before an unreachable server exhausts the job. 2026-11-11T05:46:26.8070500Z printf '%s\n' 'Acquire::http::Timeout "15";' 'Acquire::https::Timeout "15";' \ 2026-11-11T05:46:26.8070770Z  | sudo tee /etc/apt/apt.conf.d/80-mirror-timeouts > /dev/null 2026-11-11T05:46:26.8079419Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-11-11T05:46:26.8079609Z env: 2026-11-11T05:46:26.8079737Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 199 2026-11-11T05:46:26.8079904Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 335 2026-11-11T05:46:26.8080064Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-11-11T05:46:26.8080219Z ##[endgroup] 2026-11-11T05:46:26.8344126Z ##[end-action id=__self.__run;outcome=success;conclusion=success;duration_ms=29] 2026-11-11T05:46:26.8390572Z ##[group]Run sudo sed -i 's|http://|https://|g' /etc/apt/blacksmith-ubuntu-mirrors.txt /etc/apt/sources.list.d/ubuntu.sources 2026-11-11T05:46:26.8391032Z sudo sed -i 's|http://|https://|g' /etc/apt/blacksmith-ubuntu-mirrors.txt /etc/apt/sources.list.d/ubuntu.sources 2026-11-11T05:46:26.8391305Z ( 2026-11-11T05:46:26.8391418Z  set +e 2026-11-11T05:46:26.8391615Z  sudo apt-get update && sudo apt-get install -y libsecret-1-dev pkg-config 2026-11-11T05:46:26.8391847Z  echo "$?" > "$RUNNER_TEMP/apt-status" 2026-11-11T05:46:26.8392037Z ) > "$RUNNER_TEMP/apt.log" 2>&1 < /dev/null & 2026-11-11T05:46:26.8399664Z shell: /usr/bin/bash -e {0} 2026-11-11T05:46:26.8399808Z env: 2026-11-11T05:46:26.8399930Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 199 2026-11-11T05:46:26.8400092Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 335 2026-11-11T05:46:26.8400248Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-11-11T05:46:26.8400400Z ##[endgroup] 2026-11-11T05:46:26.8525039Z Prepare all required actions 2026-11-11T05:46:26.8525358Z Getting action download info 2026-11-11T05:46:26.9271641Z Download action repository 'actions/cache@v6' (SHA:55cc8345863c7cc4c66a329aec7e433d2d1c52a9) 2026-11-11T05:46:26.9944691Z Download action repository 'voidzero-dev/setup-vp@v1' (SHA:250f29ce396baf5e8f24498e17c0dfdebabc26eb) 2026-11-11T05:46:27.0837794Z ##[group]Run ./.github/actions/setup-ci-deps 2026-11-11T05:46:27.0837970Z env: 2026-11-11T05:46:27.0838102Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 199 2026-11-11T05:46:27.0838260Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 335 2026-11-11T05:46:27.0838419Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-11-11T05:46:27.0838561Z ##[endgroup] 2026-11-11T05:46:27.0864990Z ##[start-action display=Resolve Vite+ version;id=__self_2.vp] 2026-11-11T05:46:27.0877043Z ##[group]Run echo "version=$(sed -nE 's/^ vite-plus: ([0-9][^ ]*)$/\1/p' pnpm-workspace.yaml)" >> "$GITHUB_OUTPUT" 2026-11-11T05:46:27.0877438Z echo "version=$(sed -nE 's/^ vite-plus: ([0-9][^ ]*)$/\1/p' pnpm-workspace.yaml)" >> "$GITHUB_OUTPUT" 2026-11-11T05:46:27.0885603Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-11-11T05:46:27.0885784Z env: 2026-11-11T05:46:27.0885911Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 199 2026-11-11T05:46:27.0886071Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 335 2026-11-11T05:46:27.0886224Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-11-11T05:46:27.0886372Z ##[endgroup] 2026-11-11T05:46:27.0931900Z ##[end-action id=__self_2.vp;outcome=success;conclusion=success;duration_ms=6] 2026-11-11T05:46:27.0933951Z ##[start-action display=Cache Vite+;id=__self_2.__actions_cache] 2026-11-11T05:46:27.0976037Z ##[group]Run actions/cache@v6 2026-11-11T05:46:27.0976189Z with: 2026-11-11T05:46:27.0976306Z path: ~/.vite-plus 2026-11-11T05:46:27.0976450Z key: vite-plus-home-v1-Linux-X64-1.0.0 2026-11-11T05:46:27.0976622Z enableCrossOsArchive: false 2026-11-11T05:46:27.0976769Z fail-on-cache-miss: false 2026-11-11T05:46:27.0976925Z lookup-only: false 2026-11-11T05:46:27.0977052Z save-always: false 2026-11-11T05:46:27.0977335Z env: 2026-11-11T05:46:27.0977459Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 199 2026-11-11T05:46:27.0977619Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 335 2026-11-11T05:46:27.0977777Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-11-11T05:46:27.0977922Z ##[endgroup] 2026-11-11T05:46:27.3016221Z Cache not found for input keys: vite-plus-home-v1-Linux-X64-1.0.0 2026-11-11T05:46:27.3060236Z ##[end-action id=__self_2.__actions_cache;outcome=success;conclusion=success;duration_ms=212] 2026-11-11T05:46:27.3062045Z ##[start-action display=Setup Vite+;id=__self_2.__voidzero-dev_setup-vp] 2026-11-11T05:46:27.3103284Z ##[group]Run voidzero-dev/setup-vp@v1 2026-11-11T05:46:27.3103435Z with: 2026-11-11T05:46:27.3103552Z node-version-file: package.json 2026-11-11T05:46:27.3103694Z cache: true 2026-11-11T05:46:27.3103802Z run-install: true 2026-11-11T05:46:27.3103919Z sfw: false 2026-11-11T05:46:27.3104025Z env: 2026-11-11T05:46:27.3104150Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 199 2026-11-11T05:46:27.3104310Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 335 2026-11-11T05:46:27.3104465Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-11-11T05:46:27.3104606Z ##[endgroup] 2026-11-11T05:46:27.3801309Z Resolved Node.js version '^24.13.1' from package.json 2026-11-11T05:46:27.3910519Z Resolved Vite+ version '1.0.0' from package.json 2026-11-11T05:46:27.3910984Z Installing Vite+@1.0.0... 2026-11-11T05:46:27.3936303Z [command]/usr/bin/bash -c set -o pipefail; curl -fsSL --connect-timeout 5 --max-time 15 https://viteplus.dev/install.sh | bash 2026-11-11T05:46:27.7711155Z info: installing vite-plus@1.0.0... 2026-11-11T05:46:27.7711858Z info: Preparing Node.js and pnpm... 2026-11-11T05:46:28.5068040Z info: Installing dependencies... 2026-11-11T05:46:29.4784404Z ✓ Dependencies installed. 2026-11-11T05:46:29.5015378Z Setup: 2026-11-11T05:46:29.5015641Z Preparing vite-plus environment. 2026-11-11T05:46:29.5015836Z 2026-11-11T05:46:29.5027916Z Created Shims: 2026-11-11T05:46:29.5028425Z /home/runner/.vite-plus/bin/node 2026-11-11T05:46:29.5028702Z /home/runner/.vite-plus/bin/npm 2026-11-11T05:46:29.5028934Z /home/runner/.vite-plus/bin/npx 2026-11-11T05:46:29.5029161Z /home/runner/.vite-plus/bin/pnpm 2026-11-11T05:46:29.5029399Z /home/runner/.vite-plus/bin/pnpx 2026-11-11T05:46:29.5029638Z /home/runner/.vite-plus/bin/pn 2026-11-11T05:46:29.5029865Z /home/runner/.vite-plus/bin/pnx 2026-11-11T05:46:29.5030093Z /home/runner/.vite-plus/bin/yarn 2026-11-11T05:46:29.5030291Z /home/runner/.vite-plus/bin/yarnpkg 2026-11-11T05:46:29.5030449Z /home/runner/.vite-plus/bin/bun 2026-11-11T05:46:29.5030597Z /home/runner/.vite-plus/bin/bunx 2026-11-11T05:46:29.5030744Z /home/runner/.vite-plus/bin/vpx 2026-11-11T05:46:29.5030897Z /home/runner/.vite-plus/bin/vpr 2026-11-11T05:46:29.5030997Z 2026-11-11T05:46:29.5031045Z Next Steps: 2026-11-11T05:46:29.5031167Z For Bash, run: 2026-11-11T05:46:29.5031293Z . "/home/runner/.vite-plus/env" 2026-11-11T05:46:29.5031388Z 2026-11-11T05:46:29.5031563Z If your ~/.bashrc does not already load Vite+, add this command for interactive non-login Bash sessions. 2026-11-11T05:46:29.5032116Z Login Bash shells must also load the command through their login profile. 2026-11-11T05:46:29.5032273Z 2026-11-11T05:46:29.5032410Z Restart an already-running IDE to load its environment. Run `vp env doctor` to verify. 2026-11-11T05:46:29.5032787Z ✓ Vite+ setup complete. 2026-11-11T05:46:29.5071541Z Setting up Node.js ^24.13.1 via vp env use... 2026-11-11T05:46:29.5076014Z [command]/home/runner/.vite-plus/bin/vp env use ^24.13.1 2026-11-11T05:46:29.5104557Z Installing Node.js v24.22.2... 2026-11-11T05:46:30.2226047Z Using Node.js v24.22.2 (resolved from ^24.13.1) 2026-11-11T05:46:30.2236278Z Auto-detected lock file: pnpm-lock.yaml 2026-11-11T05:46:30.2236499Z Using lock file: /home/runner/_work/t3code/t3code/pnpm-lock.yaml 2026-11-11T05:46:30.2236769Z Resolving dependency cache directory in: /home/runner/_work/t3code/t3code 2026-11-11T05:46:30.7610137Z Cache hit for restore-key: vite-plus-Linux-x64-pnpm-0262421055f6201385d452bff3f6c813033b90a61526b973fbe0dabdf94ca37f 2026-11-11T05:46:31.5986205Z Received 615747963 of 615747963 (100.0%), 709.2 MBs/sec 2026-11-11T05:46:31.5987275Z Cache Size: ~587 MB (615747963 B) 2026-11-11T05:46:31.6008046Z [command]/usr/bin/tar -xf /home/runner/_work/_temp/e3932446-82fb-4ce3-a3c5-e6a3fef5fac8/cache.tzst -P -C /home/runner/_work/t3code/t3code --use-compress-program unzstd 2026-11-11T05:46:33.3104735Z Cache restored successfully 2026-11-11T05:46:33.3395592Z Cache restored from key: vite-plus-Linux-x64-pnpm-0262421055f6201385d452bff3f6c813033b90a61526b973fbe0dabdf94ca37f 2026-11-11T05:46:33.3400541Z ##[group]Running vp install in /home/runner/_work/t3code/t3code... 2026-11-11T05:46:33.3407244Z [command]/home/runner/.vite-plus/bin/vp install 2026-11-11T05:46:33.5931878Z Scope: all 33 workspace projects 2026-11-11T05:46:33.6761084Z ? Verifying lockfile against supply-chain policies (2265 entries)... 2026-11-11T05:46:33.7202734Z Lockfile is up to date, resolution step is skipped 2026-11-11T05:46:33.8183871Z Progress: resolved 1, reused 0, downloaded 0, added 0 2026-11-11T05:46:33.8747190Z Packages: +1863 2026-11-11T05:46:33.8755558Z ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2026-11-11T05:46:34.8183613Z Progress: resolved 1863, reused 735, downloaded 0, added 0 2026-11-11T05:46:35.8216237Z Progress: resolved 1863, reused 822, downloaded 412, added 46 2026-11-11T05:46:36.8308123Z Progress: resolved 1863, reused 822, downloaded 760, added 96 2026-11-11T05:46:37.8322036Z Progress: resolved 1863, reused 822, downloaded 997, added 120 2026-11-11T05:46:38.8383455Z Progress: resolved 1863, reused 822, downloaded 1027, added 772 2026-11-11T05:46:39.5112854Z ✓ Lockfile passes supply-chain policies (2265 entries in 5.8s) 2026-11-11T05:46:39.8390294Z Progress: resolved 1863, reused 822, downloaded 1028, added 1862 2026-11-11T05:46:41.0178813Z Progress: resolved 1863, reused 822, downloaded 1028, added 1863 2026-11-11T05:46:41.0179527Z Progress: resolved 1863, reused 822, downloaded 1028, added 1863, done 2026-11-11T05:46:41.3634818Z .../esbuild@0.28.2/node_modules/esbuild postinstall$ node install.js 2026-11-11T05:46:41.3637422Z .../tsc-rs@0.7.0/node_modules/tsc-rs postinstall$ node lib/install.js 2026-11-11T05:46:41.4199192Z .../esbuild@0.28.2/node_modules/esbuild postinstall: Done 2026-11-11T05:46:41.4321358Z .../tsc-rs@0.7.0/node_modules/tsc-rs postinstall: Done 2026-11-11T05:46:41.4407251Z .../react-native-enriched-markdown postinstall$ node postinstall.mjs 2026-11-11T05:46:41.4776354Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] restoring vendored native assets ... 2026-11-11T05:46:41.4802546Z .../node_modules/node-pty install$ node scripts/prebuild.js || node-gyp rebuild 2026-11-11T05:46:41.5032861Z .../esbuild@0.25.12/node_modules/esbuild postinstall$ node install.js 2026-11-11T05:46:41.5242289Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] fetching runtime v0.26.3 from https://github.com/tree-sitter/tree-sitter/archive/refs/tags/v0.26.3.tar.gz 2026-11-11T05:46:41.5243029Z .../node_modules/node-pty install: > Checking prebuilds... 2026-11-11T05:46:41.5243238Z .../node_modules/node-pty install: Done 2026-11-11T05:46:41.5243434Z .../node_modules/node-pty postinstall$ node scripts/post-install.js 2026-11-11T05:46:41.5493003Z .../esbuild@0.25.12/node_modules/esbuild postinstall: Done 2026-11-11T05:46:41.5577086Z .../node_modules/node-pty postinstall: > Cleaning release folder... 2026-11-11T05:46:41.5577469Z .../node_modules/node-pty postinstall: > Moving conpty.dll... 2026-11-11T05:46:41.5577724Z .../node_modules/node-pty postinstall: SKIPPED (not Windows) 2026-11-11T05:46:41.5577920Z .../node_modules/node-pty postinstall: Done 2026-11-11T05:46:41.6015649Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] runtime -> react-native-enriched-markdown/cpp/highlight/vendor/tree-sitter/src 2026-11-11T05:46:41.6016215Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-json@0.24.8 ... 2026-11-11T05:46:41.6026057Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-html@0.23.2 ... 2026-11-11T05:46:41.6028982Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-css@0.23.2 ... 2026-11-11T05:46:41.6033679Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading @tree-sitter-grammars/tree-sitter-markdown@0.3.2 ... 2026-11-11T05:46:41.6036932Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading @tree-sitter-grammars/tree-sitter-yaml@0.7.1 ... 2026-11-11T05:46:41.6040287Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-go@0.23.4 ... 2026-11-11T05:46:41.6043929Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-java@0.23.5 ... 2026-11-11T05:46:41.6047566Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-javascript@0.23.1 ... 2026-11-11T05:46:41.6052013Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-python@0.23.6 ... 2026-11-11T05:46:41.6056544Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-c@0.23.5 ... 2026-11-11T05:46:41.6059072Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-rust@0.23.2 ... 2026-11-11T05:46:41.6061040Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-bash@0.23.3 ... 2026-11-11T05:46:41.6063371Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-typescript@0.23.2 ... 2026-11-11T05:46:41.6065748Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-cpp@0.23.4 ... 2026-11-11T05:46:41.6069048Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-swift@0.7.0 ... 2026-11-11T05:46:41.6071290Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-php@0.24.2 ... 2026-11-11T05:46:41.6073543Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-ruby@0.23.1 ... 2026-11-11T05:46:41.6075839Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-c-sharp@0.23.1 ... 2026-11-11T05:46:42.5782523Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] json -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/json 2026-11-11T05:46:42.5783340Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] html -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/html 2026-11-11T05:46:42.5802322Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] css -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/css 2026-11-11T05:46:42.5812075Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] markdown -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/markdown 2026-11-11T05:46:42.5820384Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] yaml -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/yaml 2026-11-11T05:46:42.5825904Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] go -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/go 2026-11-11T05:46:42.5837586Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] java -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/java 2026-11-11T05:46:42.5846751Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] javascript -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/javascript 2026-11-11T05:46:42.5857816Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] python -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/python 2026-11-11T05:46:42.5871084Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] c -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/c 2026-11-11T05:46:42.5890319Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] rust -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/rust 2026-11-11T05:46:42.5920035Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] bash -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/bash 2026-11-11T05:46:42.5999073Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] typescript -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/typescript 2026-11-11T05:46:42.6059988Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] tsx -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/tsx 2026-11-11T05:46:42.6109501Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] cpp -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/cpp 2026-11-11T05:46:42.6382030Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] swift -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/swift 2026-11-11T05:46:42.6463714Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] php -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/php 2026-11-11T05:46:42.6527493Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] ruby -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/ruby 2026-11-11T05:46:42.6672444Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] c-sharp -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/c-sharp 2026-11-11T05:46:42.7018018Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] grammar sources ready. 2026-11-11T05:46:42.7018433Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] done. 2026-11-11T05:46:42.7108642Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] math disabled via package.json ("enriched-markdown".enableMath = false); skipping RaTeX. 2026-11-11T05:46:42.7109503Z .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] postinstall complete. 2026-11-11T05:46:42.7136536Z .../react-native-enriched-markdown postinstall: Done 2026-11-11T05:46:44.0141410Z 2026-11-11T05:46:44.0141866Z devDependencies: 2026-11-11T05:46:44.0142090Z + @coderabbitai/config 1.1.0 2026-11-11T05:46:44.0142331Z + @effect/tsgo 0.51.1 2026-11-11T05:46:44.0142516Z + @shadcn/lint 0.1.5 2026-11-11T05:46:44.0142648Z + @types/node 24.12.4 2026-11-11T05:46:44.0142768Z + knip 6.34.0 2026-11-11T05:46:44.0142919Z + tsc-rs 0.7.0 2026-11-11T05:46:44.0143090Z + typescript 7.0.2 2026-11-11T05:46:44.0143237Z + vite-plus 1.0.0 2026-11-11T05:46:44.0143314Z 2026-11-11T05:46:44.0168452Z . prepare$ effect-tsgo patch && vp config --no-agent 2026-11-11T05:46:44.2703048Z . prepare: Patched typescript at /home/runner/_work/t3code/t3code/node_modules/.pnpm/@typescript+typescript-linux-x64@7.0.2/node_modules/@typescript/typescript-linux-x64/lib/tsc 2026-11-11T05:46:44.3771088Z . prepare: Done 2026-11-11T05:46:44.4768142Z Done in 11.1s using pnpm v11.10.0 2026-11-11T05:46:44.5619974Z ##[endgroup] 2026-11-11T05:46:44.5620133Z Successfully ran vp install 2026-11-11T05:46:44.5702030Z vp v1.0.0 2026-11-11T05:46:44.5702162Z 2026-11-11T05:46:44.5702215Z Local vite-plus: 2026-11-11T05:46:44.5702336Z vite-plus v1.0.0 2026-11-11T05:46:44.5702950Z 2026-11-11T05:46:44.5702992Z Tools: 2026-11-11T05:46:44.5703102Z vite v8.3.1 2026-11-11T05:46:44.5703229Z rolldown v1.2.11 2026-11-11T05:46:44.5703356Z vitest v5.0.1 2026-11-11T05:46:44.5703474Z oxfmt v0.70.0 2026-11-11T05:46:44.5703595Z oxlint v1.85.0 2026-11-11T05:46:44.5703724Z oxlint-tsgolint v7.0.2003 2026-11-11T05:46:44.5703857Z tsdown v0.23.0 2026-11-11T05:46:44.5703933Z 2026-11-11T05:46:44.5703978Z Environment: 2026-11-11T05:46:44.5704098Z Package manager pnpm v11.10.0 2026-11-11T05:46:44.5704259Z Node.js v24.22.2 (.session-node-version) 2026-11-11T05:46:44.5836344Z ##[end-action id=__self_2.__voidzero-dev_setup-vp;outcome=success;conclusion=success;duration_ms=17277] 2026-11-11T05:46:44.5860326Z ##[group]Run vp run --filter @t3tools/desktop ensure:electron 2026-11-11T05:46:44.5860646Z vp run --filter @t3tools/desktop ensure:electron 2026-11-11T05:46:44.5871763Z shell: /usr/bin/bash -e {0} 2026-11-11T05:46:44.5871911Z env: 2026-11-11T05:46:44.5872036Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 199 2026-11-11T05:46:44.5872192Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 335 2026-11-11T05:46:44.5872345Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-11-11T05:46:44.5872485Z ##[endgroup] 2026-11-11T05:46:44.7404652Z ~/apps/desktop$ node scripts/ensure-electron-runtime.mjs ⊘ cache disabled 2026-11-11T05:46:46.0289593Z /home/runner/_work/t3code/t3code/node_modules/.pnpm/electron@44.4.5/node_modules/electron/dist/electron 2026-11-11T05:46:46.0312076Z 2026-11-11T05:46:46.0409663Z ##[group]Run ( 2026-11-11T05:46:46.0409818Z ( 2026-11-11T05:46:46.0409919Z  set +e 2026-11-11T05:46:46.0410036Z  vpr typecheck 2026-11-11T05:46:46.0410185Z  echo "$?" > "$RUNNER_TEMP/typecheck-status" 2026-11-11T05:46:46.0410438Z ) > "$RUNNER_TEMP/typecheck.log" 2>&1 < /dev/null & 2026-11-11T05:46:46.0418841Z shell: /usr/bin/bash -e {0} 2026-11-11T05:46:46.0418990Z env: 2026-11-11T05:46:46.0419107Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 199 2026-11-11T05:46:46.0419257Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 335 2026-11-11T05:46:46.0419407Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-11-11T05:46:46.0419546Z ##[endgroup] 2026-11-11T05:46:46.0461519Z ##[group]Run until test -s "$RUNNER_TEMP/apt-status"; do sleep 1; done 2026-11-11T05:46:46.0461805Z until test -s "$RUNNER_TEMP/apt-status"; do sleep 1; done 2026-11-11T05:46:46.0462005Z cat "$RUNNER_TEMP/apt.log" 2026-11-11T05:46:46.0462180Z exit "$(cat "$RUNNER_TEMP/apt-status")" 2026-11-11T05:46:46.0470374Z shell: /usr/bin/bash -e {0} 2026-11-11T05:46:46.0470536Z env: 2026-11-11T05:46:46.0470651Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 199 2026-11-11T05:46:46.0470810Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 335 2026-11-11T05:46:46.0470958Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-11-11T05:46:46.0471102Z ##[endgroup] 2026-11-11T05:51:54.2756250Z ##[error]The action 'Finish installing browser secret helper build libraries' has timed out after 5 minutes. 2026-11-11T05:51:54.2793515Z ##[group]Run until test -s "$RUNNER_TEMP/typecheck-status"; do sleep 1; done 2026-11-11T05:51:54.2793800Z until test -s "$RUNNER_TEMP/typecheck-status"; do sleep 1; done 2026-11-11T05:51:54.2794004Z cat "$RUNNER_TEMP/typecheck.log" 2026-11-11T05:51:54.2794177Z exit "$(cat "$RUNNER_TEMP/typecheck-status")" 2026-11-11T05:51:54.2802234Z shell: /usr/bin/bash -e {0} 2026-11-11T05:51:54.2802364Z env: 2026-11-11T05:51:54.2802484Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 199 2026-11-11T05:51:54.2802640Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 335 2026-11-11T05:51:54.2802790Z GITHUB_REPO_NAME: pingdotgg/t3code 2026-11-11T05:51:54.2802930Z ##[endgroup] 2026-11-11T05:51:54.2828911Z ~/packages/effect-acp$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2829187Z ~/packages/effect-codex-app-server$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2829691Z src/agent.test.ts(40,10): suggestion TS377036: This `Schema.Struct` includes a `_tag` field. `Schema.TaggedStruct` is the tagged-struct form for this pattern and makes the tag optional in the constructor. effect(schemaStructWithTag) 2026-11-11T05:51:54.2830391Z src/agent.test.ts(42,25): suggestion TS377036: This `Schema.Struct` includes a `_tag` field. `Schema.TaggedStruct` is the tagged-struct form for this pattern and makes the tag optional in the constructor. effect(schemaStructWithTag) 2026-11-11T05:51:54.2831119Z src/client.test.ts(58,10): suggestion TS377036: This `Schema.Struct` includes a `_tag` field. `Schema.TaggedStruct` is the tagged-struct form for this pattern and makes the tag optional in the constructor. effect(schemaStructWithTag) 2026-11-11T05:51:54.2831806Z src/client.test.ts(60,25): suggestion TS377036: This `Schema.Struct` includes a `_tag` field. `Schema.TaggedStruct` is the tagged-struct form for this pattern and makes the tag optional in the constructor. effect(schemaStructWithTag) 2026-11-11T05:51:54.2832429Z src/client.test.ts(1129,18): suggestion TS377113: `Effect.forEach` expresses this effectful array mapping more directly than `Effect.all` over `Array#map`. effect(allOfMapToForEach) 2026-11-11T05:51:54.2833138Z src/protocol.test.ts(627,38): suggestion TS377112: This input is already assignable to the schema's Encoded type. Use `decodeEffect` to preserve compile-time type checking instead of discarding the input type through `decodeUnknownEffect`. effect(preferTypedSchemaDecoder) 2026-11-11T05:51:54.2833571Z 2026-11-11T05:51:54.2833686Z ~/oxlint-plugin-t3code$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2833812Z 2026-11-11T05:51:54.2833910Z ~/packages/contracts$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2834411Z src/auth.test.ts(18,19): suggestion TS377112: This input is already assignable to the schema's Encoded type. Use `decodeSync` to preserve compile-time type checking instead of discarding the input type through `decodeUnknownSync`. effect(preferTypedSchemaDecoder) 2026-11-11T05:51:54.2835211Z src/baseSchemas.test.ts(45,19): suggestion TS377112: This input is already assignable to the schema's Encoded type. Use `decodeSync` to preserve compile-time type checking instead of discarding the input type through `decodeUnknownSync`. effect(preferTypedSchemaDecoder) 2026-11-11T05:51:54.2835642Z 2026-11-11T05:51:54.2835736Z ~/packages/shared$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2835847Z 2026-11-11T05:51:54.2836114Z src/nodeSqliteClient.ts(429,31): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-11-11T05:51:54.2836975Z src/nodeSqliteClient.ts(436,3): suggestion TS377014: This generator returns an Effect-able value directly, which produces a nested `Effect>`. If the intended result is the inner Effect value, `return yield*` represents that form. effect(returnEffectInGen) 2026-11-11T05:51:54.2837811Z src/nodeSqliteClient.ts(437,29): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-11-11T05:51:54.2838441Z src/nodeSqliteClient.ts(457,13): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-11-11T05:51:54.2839118Z src/nodeSqliteClient.ts(518,3): suggestion TS377012: This Effect generator contains `try/catch`; in this context, error handling is expressed with Effect APIs such as Effect.try, Effect.tryPromise, Effect.catch, Effect.catchTag). effect(tryCatchInEffectGen) 2026-11-11T05:51:54.2839736Z src/symlink.ts(27,9): suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-11-11T05:51:54.2839982Z 2026-11-11T05:51:54.2840074Z ~/apps/marketing$ astro check ⊘ cache disabled 2026-11-11T05:51:54.2840305Z ~/packages/source-control-core$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2840438Z 2026-11-11T05:51:54.2840541Z ~/packages/tailscale$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2840661Z 2026-11-11T05:51:54.2840748Z ~/packages/ssh$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2840882Z 2026-11-11T05:51:54.2840984Z ~/packages/provider-core$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2841215Z 05:46:47 [types] Generated 74ms 2026-11-11T05:51:54.2841542Z 05:46:47 [check] Getting diagnostics for Astro files in /home/runner/_work/t3code/t3code/apps/marketing... 2026-11-11T05:51:54.2842027Z src/server/snapshotProbe.test.ts(179,9): suggestion TS377124: `Effect.provideService` provides this inline single-service layer directly. effect(provideLayerSucceedToProvideService) 2026-11-11T05:51:54.2842343Z 2026-11-11T05:51:54.2842471Z ~/packages/source-control-testing$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2842607Z 2026-11-11T05:51:54.2842735Z ~/packages/source-control-bitbucket$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2842877Z 2026-11-11T05:51:54.2842987Z ~/packages/provider-acp$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2843491Z src/server/AcpSessionRuntime.ts(500,7): suggestion TS377012: This Effect generator contains `try/catch`; in this context, error handling is expressed with Effect APIs such as Effect.try, Effect.tryPromise, Effect.catch, Effect.catchTag). effect(tryCatchInEffectGen) 2026-11-11T05:51:54.2844287Z src/server/AcpSessionRuntime.ts(510,7): suggestion TS377012: This Effect generator contains `try/catch`; in this context, error handling is expressed with Effect APIs such as Effect.try, Effect.tryPromise, Effect.catch, Effect.catchTag). effect(tryCatchInEffectGen) 2026-11-11T05:51:54.2845080Z src/server/AcpSessionRuntime.ts(526,7): suggestion TS377012: This Effect generator contains `try/catch`; in this context, error handling is expressed with Effect APIs such as Effect.try, Effect.tryPromise, Effect.catch, Effect.catchTag). effect(tryCatchInEffectGen) 2026-11-11T05:51:54.2845823Z src/server/AcpSessionRuntime.ts(1978,17): suggestion TS377118: `Effect.fromOption` expresses this Option-to-Effect conversion more directly than `Option.match` or an Option tag conditional. effect(optionMatchToFromOption) 2026-11-11T05:51:54.2846498Z src/server/AcpSessionRuntime.ts(2026,9): suggestion TS377132: `Effect.andThen` expresses this sequencing more directly than `Effect.flatMap` with a zero-parameter callback. effect(flatMapIgnoredParamToAndThen) 2026-11-11T05:51:54.2847176Z src/server/AcpSessionRuntime.ts(2242,9): suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 2026-11-11T05:51:54.2847900Z src/server/AcpSessionRuntime.ts(2610,17): suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-11-11T05:51:54.2848547Z src/server/adapter.ts(4636,21): suggestion TS377017: This Effect.gen contains a single return statement. effect(unnecessaryEffectGen) 2026-11-11T05:51:54.2849000Z src/server/adapter.ts(5318,21): suggestion TS377017: This Effect.gen contains a single return statement. effect(unnecessaryEffectGen) 2026-11-11T05:51:54.2849506Z src/server/clientTerminals.test.ts(263,32): suggestion TS377113: `Effect.forEach` expresses this effectful array mapping more directly than `Effect.all` over `Array#map`. effect(allOfMapToForEach) 2026-11-11T05:51:54.2849833Z 2026-11-11T05:51:54.2849949Z ~/packages/provider-testing$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2850075Z 2026-11-11T05:51:54.2850202Z ~/packages/source-control-gitlab$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2850339Z 2026-11-11T05:51:54.2850458Z ~/packages/source-control-github$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2850973Z src/server/GitHubPullRequestApi.ts(1516,13): suggestion TS377120: `Effect.filterOrFail` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-11-11T05:51:54.2851739Z src/server/GitHubPullRequestApi.ts(1789,9): suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-11-11T05:51:54.2852453Z src/server/gitHubGraphQlClient.ts(67,9): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitHubGraphQlAuth.execute")(function*(_) { ... })`. effect(effectFnOpportunity) 2026-11-11T05:51:54.2853147Z src/server/gitHubGraphQlClient.ts(120,14): suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) 2026-11-11T05:51:54.2853535Z 2026-11-11T05:51:54.2853671Z ~/packages/source-control-azure-devops$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2853824Z 2026-11-11T05:51:54.2853949Z ~/packages/source-control-gitcafe$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2854139Z Result (22 files): 2026-11-11T05:51:54.2854254Z - 0 errors 2026-11-11T05:51:54.2854357Z - 0 warnings 2026-11-11T05:51:54.2854457Z - 0 hints 2026-11-11T05:51:54.2854516Z 2026-11-11T05:51:54.2854518Z 2026-11-11T05:51:54.2854642Z ~/packages/source-control-forgejo$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2855151Z src/server/GitCafePullRequestProvider.ts(482,13): suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-11-11T05:51:54.2855691Z src/server/GitCafePullRequestProvider.ts(487,21): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2856266Z src/server/GitCafeSourceControlProvider.ts(201,5): suggestion TS377015: This expression contains chained `pipe` calls that can be simplified to a single `pipe` call. effect(unnecessaryPipeChain) 2026-11-11T05:51:54.2856595Z 2026-11-11T05:51:54.2856697Z ~/packages/provider-grok$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2856821Z 2026-11-11T05:51:54.2856925Z ~/packages/provider-pi$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2857381Z src/server/driver.ts(148,9): suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-11-11T05:51:54.2857990Z src/server/xaiAcpExtension.ts(1487,15): suggestion TS377009: The previous Effect does not fail, so this error-handling branch will never run. effect(catchUnfailableEffect) 2026-11-11T05:51:54.2858535Z src/server/xaiAcpExtension.ts(1487,15): suggestion TS377099: `Effect.ignore` expresses ignored failure more directly than `Effect.catch` returning `Effect.void`. effect(catchToIgnore) 2026-11-11T05:51:54.2859263Z src/server/xaiAcpExtension.ts(1569,15): suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-11-11T05:51:54.2859704Z 2026-11-11T05:51:54.2859809Z ~/packages/provider-muse$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2860151Z src/server/adapter.ts(1680,31): suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-11-11T05:51:54.2860626Z src/server/adapter.ts(1683,29): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2861123Z src/server/rpc.ts(340,17): suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-11-11T05:51:54.2861373Z 2026-11-11T05:51:54.2861485Z ~/packages/provider-opencode$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2861863Z src/server/adapter.ts(1338,35): suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-11-11T05:51:54.2862341Z src/server/adapter.ts(1338,71): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2862597Z 2026-11-11T05:51:54.2862706Z ~/packages/provider-cursor$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2863109Z src/server/OpenCodeServerLedger.ts(147,12): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-11-11T05:51:54.2863825Z src/server/OpenCodeServerLedger.ts(188,24): suggestion TS377014: This generator returns an Effect-able value directly, which produces a nested `Effect>`. If the intended result is the inner Effect value, `return yield*` represents that form. effect(returnEffectInGen) 2026-11-11T05:51:54.2864647Z src/server/OpenCodeServerLedger.ts(208,9): suggestion TS377014: This generator returns an Effect-able value directly, which produces a nested `Effect>`. If the intended result is the inner Effect value, `return yield*` represents that form. effect(returnEffectInGen) 2026-11-11T05:51:54.2865469Z src/server/OpenCodeServerLedger.ts(228,7): suggestion TS377014: This generator returns an Effect-able value directly, which produces a nested `Effect>`. If the intended result is the inner Effect value, `return yield*` represents that form. effect(returnEffectInGen) 2026-11-11T05:51:54.2866294Z src/server/adapter.test.ts(107,39): suggestion TS377112: This input is already assignable to the schema's Encoded type. Use `decodeSync` to preserve compile-time type checking instead of discarding the input type through `decodeUnknownSync`. effect(preferTypedSchemaDecoder) 2026-11-11T05:51:54.2867038Z src/server/adapter.ts(1013,33): suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 2026-11-11T05:51:54.2867701Z src/server/adapter.ts(1092,33): suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) 2026-11-11T05:51:54.2868343Z src/server/adapter.ts(1586,15): suggestion TS377095: `Effect.orElseSucceed` expresses the same recovery more directly than `Effect.catch` followed by `Effect.succeed`. effect(catchToOrElseSucceed) 2026-11-11T05:51:54.2868914Z src/server/adapter.ts(1586,34): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-11-11T05:51:54.2869509Z src/server/adapter.ts(3178,43): suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 2026-11-11T05:51:54.2870187Z src/server/adapter.ts(3335,47): suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 2026-11-11T05:51:54.2870825Z src/server/v2/adapter.ts(1460,26): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2871309Z src/server/v2/adapter.ts(1460,58): suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-11-11T05:51:54.2871573Z 2026-11-11T05:51:54.2871694Z ~/packages/provider-acp-registry$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2872116Z src/server/accountUsage.ts(360,5): suggestion TS377095: `Effect.orElseSucceed` expresses the same recovery more directly than `Effect.catch` followed by `Effect.succeed`. effect(catchToOrElseSucceed) 2026-11-11T05:51:54.2872895Z src/server/credentialStore.ts(55,7): suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-11-11T05:51:54.2873648Z src/server/credentialStore.ts(59,29): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-11-11T05:51:54.2874398Z src/server/credentialStore.ts(69,7): suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-11-11T05:51:54.2875330Z src/server/credentialStore.ts(82,18): suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-11-11T05:51:54.2876145Z src/server/driver.ts(219,13): suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-11-11T05:51:54.2876710Z src/server/usageLimits.test.ts(74,5): suggestion TS377017: This Effect.gen contains a single return statement. effect(unnecessaryEffectGen) 2026-11-11T05:51:54.2876945Z 2026-11-11T05:51:54.2877053Z ~/packages/client-runtime$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2877435Z src/server/AcpRegistryRuntimeCoordinator.ts(154,52): suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-11-11T05:51:54.2878070Z src/server/AcpRegistrySupport.ts(1299,9): suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 2026-11-11T05:51:54.2878736Z src/server/auth.ts(146,13): suggestion TS377118: `Effect.fromOption` expresses this Option-to-Effect conversion more directly than `Option.match` or an Option tag conditional. effect(optionMatchToFromOption) 2026-11-11T05:51:54.2879285Z src/server/driver.ts(642,53): suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-11-11T05:51:54.2879541Z 2026-11-11T05:51:54.2879816Z src/connection/registry.test.ts(1389,15): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-11-11T05:51:54.2880441Z src/connection/registry.test.ts(1473,15): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-11-11T05:51:54.2881070Z src/connection/registry.test.ts(1486,23): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-11-11T05:51:54.2881627Z src/platform/orchestrationCache.test.ts(190,15): suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-11-11T05:51:54.2882213Z src/state/commandPermissions.ts(56,13): suggestion TS377095: `Effect.orElseSucceed` expresses the same recovery more directly than `Effect.catch` followed by `Effect.succeed`. effect(catchToOrElseSucceed) 2026-11-11T05:51:54.2882891Z src/state/commandPermissions.ts(62,20): suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) 2026-11-11T05:51:54.2883548Z src/state/fileMetadata.test.ts(438,14): suggestion TS377113: `Effect.forEach` expresses this effectful array mapping more directly than `Effect.all` over `Array#map`. effect(allOfMapToForEach) 2026-11-11T05:51:54.2884276Z src/state/queryPersistence.ts(35,30): suggestion TS377112: This input is already assignable to the schema's Encoded type. Use `decodeEffect` to preserve compile-time type checking instead of discarding the input type through `decodeUnknownEffect`. effect(preferTypedSchemaDecoder) 2026-11-11T05:51:54.2884955Z src/state/queryPersistence.ts(36,11): suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-11-11T05:51:54.2885442Z src/state/server.test.ts(777,26): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2885914Z src/state/server.test.ts(779,27): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2886380Z src/state/server.test.ts(782,33): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2886850Z src/state/server.test.ts(784,28): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2887438Z src/state/server.ts(1097,11): suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-11-11T05:51:54.2888027Z src/state/shell-sync.test.ts(89,26): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2888506Z src/state/shell-sync.test.ts(91,27): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2888987Z src/state/shell-sync.test.ts(184,26): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2889470Z src/state/shell-sync.test.ts(186,27): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2889952Z src/state/shell-sync.test.ts(189,33): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2890429Z src/state/shell-sync.test.ts(191,28): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2891043Z src/state/shell-sync.test.ts(202,68): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2891622Z src/state/shell-sync.test.ts(470,26): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2892148Z src/state/shell-sync.test.ts(473,27): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2892633Z src/state/shell-sync.test.ts(476,33): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2893116Z src/state/shell-sync.test.ts(478,28): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2893596Z src/state/shell-sync.test.ts(485,21): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2894077Z src/state/shell-sync.test.ts(555,26): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2894564Z src/state/shell-sync.test.ts(561,27): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2895139Z src/state/shell-sync.test.ts(564,33): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2895617Z src/state/shell-sync.test.ts(566,28): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2896091Z src/state/shell-sync.test.ts(573,21): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2896567Z src/state/shell-sync.test.ts(694,26): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2897047Z src/state/shell-sync.test.ts(703,27): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2897532Z src/state/shell-sync.test.ts(706,33): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2898014Z src/state/shell-sync.test.ts(708,28): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2898492Z src/state/shell-sync.test.ts(715,21): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2898975Z src/state/shell-sync.test.ts(814,26): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2899452Z src/state/shell-sync.test.ts(820,27): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2899934Z src/state/shell-sync.test.ts(823,33): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2900414Z src/state/shell-sync.test.ts(825,28): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2900919Z src/state/shell-sync.test.ts(832,21): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2901404Z src/state/shell-sync.test.ts(911,26): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2901885Z src/state/shell-sync.test.ts(913,27): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2902434Z src/state/shell-sync.test.ts(916,33): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2902956Z src/state/shell-sync.test.ts(918,28): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2903439Z src/state/shell-sync.test.ts(925,21): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2903932Z src/state/threads-sync.test.ts(1305,29): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2904200Z 2026-11-11T05:51:54.2904292Z ~/apps/mobile$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2904486Z ~/infra/relay$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2904593Z 2026-11-11T05:51:54.2904675Z ~/apps/web$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2904779Z 2026-11-11T05:51:54.2904868Z ~/scripts$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2904974Z 2026-11-11T05:51:54.2905060Z ~/apps/desktop$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2905571Z src/app/DesktopClerk.test.ts(383,27): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2906127Z src/app/DesktopWebLinks.test.ts(29,31): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2906393Z 2026-11-11T05:51:54.2906395Z 2026-11-11T05:51:54.2906482Z ~/apps/server$ tsc-rs --noEmit ⊘ cache disabled 2026-11-11T05:51:54.2906841Z scripts/acp-mock-agent.ts(870,16): suggestion TS377015: This expression contains chained `pipe` calls that can be simplified to a single `pipe` call. effect(unnecessaryPipeChain) 2026-11-11T05:51:54.2907571Z scripts/record-grok-acp-replay-fixture.ts(376,38): suggestion TS377112: This input is already assignable to the schema's Encoded type. Use `decodeSync` to preserve compile-time type checking instead of discarding the input type through `decodeUnknownSync`. effect(preferTypedSchemaDecoder) 2026-11-11T05:51:54.2908378Z src/htmlRender/HtmlRender.ts(344,9): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("HtmlRender.measure")(function*(html) { ... }, ...pipeTransformations)`. effect(effectFnOpportunity) 2026-11-11T05:51:54.2909137Z src/mcp/AcpMcpStdioBridge.ts(243,9): suggestion TS377012: This Effect generator contains `try/catch`; in this context, error handling is expressed with Effect APIs such as Effect.try, Effect.tryPromise, Effect.catch, Effect.catchTag). effect(tryCatchInEffectGen) 2026-11-11T05:51:54.2909833Z src/mcp/AcpMcpStdioBridge.ts(286,7): suggestion TS377099: `Effect.ignoreCause` expresses ignored failure more directly than `Effect.catchCause` returning `Effect.void`. effect(catchToIgnore) 2026-11-11T05:51:54.2910446Z src/mcp/McpSessionRegistry.testkit.ts(22,20): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-11-11T05:51:54.2911087Z src/mcp/McpToolAccess.ts(112,7): suggestion TS377132: `Effect.andThen` expresses this sequencing more directly than `Effect.flatMap` with a zero-parameter callback. effect(flatMapIgnoredParamToAndThen) 2026-11-11T05:51:54.2911775Z src/mcp/OrchestratorMcpService.ts(1782,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorMcpService.requestSecret")(function*(scope, input) { ... })`. effect(effectFnOpportunity) 2026-11-11T05:51:54.2912371Z src/mcp/WorktreeMcpService.test.ts(353,3): suggestion TS377017: This Effect.gen contains a single return statement. effect(unnecessaryEffectGen) 2026-11-11T05:51:54.2912887Z src/mcp/toolkits/pullRequests/handlers.ts(212,27): suggestion TS377015: This expression contains chained `pipe` calls that can be simplified to a single `pipe` call. effect(unnecessaryPipeChain) 2026-11-11T05:51:54.2913547Z src/orchestration-v2/Adapters/AcpRegistryAdapterV2.test.ts(381,69): suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-11-11T05:51:54.2914186Z src/orchestration-v2/Adapters/AcpRegistryAdapterV2.test.ts(389,43): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2914777Z src/orchestration-v2/Adapters/AcpRegistryAdapterV2.test.ts(394,43): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2915368Z src/orchestration-v2/Adapters/AcpRegistryAdapterV2.test.ts(398,39): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2916146Z src/orchestration-v2/Adapters/AcpRegistryAdapterV2.testkit.ts(30,32): suggestion TS377112: This input is already assignable to the schema's Encoded type. Use `decodeSync` to preserve compile-time type checking instead of discarding the input type through `decodeUnknownSync`. effect(preferTypedSchemaDecoder) 2026-11-11T05:51:54.2916960Z src/orchestration-v2/Adapters/AntigravityAdapterV2.test.ts(46,17): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-11-11T05:51:54.2917642Z src/orchestration-v2/Adapters/AntigravityAdapterV2.test.ts(181,23): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-11-11T05:51:54.2918317Z src/orchestration-v2/Adapters/AntigravityAdapterV2.test.ts(318,23): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-11-11T05:51:54.2918996Z src/orchestration-v2/Adapters/AntigravityAdapterV2.test.ts(463,25): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-11-11T05:51:54.2919715Z src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts(1127,26): suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 2026-11-11T05:51:54.2920452Z src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts(1142,26): suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 2026-11-11T05:51:54.2921168Z src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts(1551,37): suggestion TS377015: This expression contains chained `pipe` calls that can be simplified to a single `pipe` call. effect(unnecessaryPipeChain) 2026-11-11T05:51:54.2921855Z src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts(1557,28): suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 2026-11-11T05:51:54.2922583Z src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts(1580,37): suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 2026-11-11T05:51:54.2923373Z src/orchestration-v2/Adapters/ClaudeTaskOutputTail.ts(74,17): suggestion TS377121: This Effect first-completion race has exactly one sleep- or delay-based timer arm. `Effect.timeoutOrElse` expresses the timeout and fallback directly. effect(raceFirstWithSleepToTimeout) 2026-11-11T05:51:54.2924113Z src/orchestration-v2/Adapters/CodexAdapterV2.ts(1682,25): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-11-11T05:51:54.2924822Z src/orchestration-v2/Adapters/CodexAdapterV2.ts(2974,19): suggestion TS377095: `Effect.orElseSucceed` expresses the same recovery more directly than `Effect.catch` followed by `Effect.succeed`. effect(catchToOrElseSucceed) 2026-11-11T05:51:54.2925607Z src/orchestration-v2/Adapters/CodexAdapterV2.ts(2975,19): suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-11-11T05:51:54.2926323Z src/orchestration-v2/Adapters/CodexAdapterV2.ts(2997,19): suggestion TS377099: `Effect.ignore` expresses ignored failure more directly than `Effect.catch` returning `Effect.void`. effect(catchToIgnore) 2026-11-11T05:51:54.2927022Z src/orchestration-v2/Adapters/CodexAdapterV2.ts(7033,26): suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) 2026-11-11T05:51:54.2927882Z src/orchestration-v2/Adapters/GrokAdapterV2.testkit.ts(33,38): suggestion TS377112: This input is already assignable to the schema's Encoded type. Use `decodeSync` to preserve compile-time type checking instead of discarding the input type through `decodeUnknownSync`. effect(preferTypedSchemaDecoder) 2026-11-11T05:51:54.2928815Z src/orchestration-v2/Adapters/MuseAdapterV2.testkit.ts(414,38): suggestion TS377112: This input is already assignable to the schema's Encoded type. Use `decodeSync` to preserve compile-time type checking instead of discarding the input type through `decodeUnknownSync`. effect(preferTypedSchemaDecoder) 2026-11-11T05:51:54.2929572Z src/orchestration-v2/CheckpointRestoreSafety.test.ts(116,24): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2930255Z src/orchestration-v2/CheckpointRestoreSafety.ts(41,13): suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 2026-11-11T05:51:54.2931052Z src/orchestration-v2/CheckpointRestoreSafety.ts(83,17): suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 2026-11-11T05:51:54.2931735Z src/orchestration-v2/CheckpointRollbackService.test.ts(457,22): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2932427Z src/orchestration-v2/ClaudeAutomaticDelivery.integration.test.ts(141,28): suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 2026-11-11T05:51:54.2933222Z src/orchestration-v2/CommandOutputHub.test.ts(169,5): suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-11-11T05:51:54.2933899Z src/orchestration-v2/CommandReceiptStore.ts(164,29): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2934448Z src/orchestration-v2/CommandReceiptStore.ts(167,21): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2935075Z src/orchestration-v2/CommandReceiptStore.ts(168,58): suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-11-11T05:51:54.2935627Z src/orchestration-v2/CommandReceiptStore.ts(183,17): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2936238Z src/orchestration-v2/CommandReceiptStore.ts(192,25): suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-11-11T05:51:54.2936880Z src/orchestration-v2/EffectOutbox.ts(420,17): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2937397Z src/orchestration-v2/EffectOutbox.ts(421,39): suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-11-11T05:51:54.2937918Z src/orchestration-v2/EffectWorker.test.ts(107,20): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2938452Z src/orchestration-v2/EffectWorker.test.ts(264,24): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2938980Z src/orchestration-v2/EffectWorker.test.ts(331,24): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2939511Z src/orchestration-v2/EffectWorker.test.ts(398,24): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2940039Z src/orchestration-v2/EffectWorker.test.ts(399,18): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2940567Z src/orchestration-v2/EffectWorker.test.ts(463,24): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2941122Z src/orchestration-v2/EffectWorker.test.ts(464,18): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2941647Z src/orchestration-v2/EffectWorker.test.ts(524,24): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2942176Z src/orchestration-v2/EffectWorker.test.ts(525,18): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2942701Z src/orchestration-v2/EffectWorker.test.ts(596,24): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2943225Z src/orchestration-v2/EffectWorker.test.ts(597,18): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2943752Z src/orchestration-v2/EffectWorker.test.ts(715,24): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2944276Z src/orchestration-v2/EffectWorker.test.ts(743,24): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2944904Z src/orchestration-v2/EffectWorker.ts(183,17): suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 2026-11-11T05:51:54.2945559Z src/orchestration-v2/FoundationPersistence.test.ts(1983,26): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2946135Z src/orchestration-v2/FoundationPersistence.test.ts(1988,11): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2946711Z src/orchestration-v2/FoundationPersistence.test.ts(2038,26): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2947337Z src/orchestration-v2/FoundationPersistence.test.ts(2040,11): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2947941Z src/orchestration-v2/FoundationPersistence.test.ts(3040,30): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2948509Z src/orchestration-v2/FoundationPersistence.test.ts(3257,30): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2949135Z src/orchestration-v2/OpenCode2OrchestratorV2.live.test.ts(95,20): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-11-11T05:51:54.2949866Z src/orchestration-v2/Orchestrator.ts(11211,7): suggestion TS377120: `Effect.filterOrFail` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-11-11T05:51:54.2950610Z src/orchestration-v2/ProjectSettingsUpgrade.integration.test.ts(160,28): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-11-11T05:51:54.2951280Z src/orchestration-v2/ProjectionControlReads.test.ts(279,11): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2951974Z src/orchestration-v2/ProviderEventIngestor.ts(805,11): suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-11-11T05:51:54.2952669Z src/orchestration-v2/ProviderSessionManager.test.ts(1400,19): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2953251Z src/orchestration-v2/ProviderTurnStartService.test.ts(149,13): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2953839Z src/orchestration-v2/ProviderTurnStartService.test.ts(640,13): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2954427Z src/orchestration-v2/ProviderTurnStartService.testkit.ts(14,20): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2955135Z src/orchestration-v2/ProviderTurnStartService.ts(479,15): suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-11-11T05:51:54.2956001Z src/orchestration-v2/ProviderTurnStartService.ts(1205,7): suggestion TS377014: This generator returns an Effect-able value directly, which produces a nested `Effect>`. If the intended result is the inner Effect value, `return yield*` represents that form. effect(returnEffectInGen) 2026-11-11T05:51:54.2956726Z src/orchestration-v2/PullRequestWatchReactor.ts(423,53): suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) 2026-11-11T05:51:54.2957415Z src/orchestration-v2/RunExecutionService.ts(869,17): suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-11-11T05:51:54.2958081Z src/orchestration-v2/RuntimePolicy.test.ts(90,9): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2958677Z src/orchestration-v2/RuntimeRequestService.test.ts(75,5): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2959282Z src/orchestration-v2/RuntimeRequestService.test.ts(139,5): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2959843Z src/orchestration-v2/RuntimeRequestService.test.ts(206,44): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2960412Z src/orchestration-v2/RuntimeRequestService.test.ts(217,11): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2961010Z src/orchestration-v2/ThreadLaunchService.test.ts(177,33): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2961568Z src/orchestration-v2/ThreadLaunchService.test.ts(206,32): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2962258Z src/orchestration-v2/ThreadManagementService.ts(688,7): suggestion TS377120: `Effect.filterOrFail` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-11-11T05:51:54.2962968Z src/orchestration-v2/ThreadManagementService.ts(705,5): suggestion TS377015: This expression contains chained `pipe` calls that can be simplified to a single `pipe` call. effect(unnecessaryPipeChain) 2026-11-11T05:51:54.2963680Z src/orchestration-v2/ThreadManagementService.ts(716,9): suggestion TS377120: `Effect.filterOrFail` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-11-11T05:51:54.2964485Z src/orchestration-v2/ThreadManagementService.ts(1118,45): suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) 2026-11-11T05:51:54.2965173Z src/orchestration-v2/ThreadPullRequestService.test.ts(228,31): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2965876Z src/orchestration-v2/ThreadPullRequestService.ts(327,17): suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-11-11T05:51:54.2966697Z src/orchestration-v2/ThreadSettlementService.ts(365,11): suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-11-11T05:51:54.2967508Z src/orchestration-v2/ThreadSettlementService.ts(528,11): suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-11-11T05:51:54.2968320Z src/orchestration-v2/ThreadSettlementService.ts(546,7): suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-11-11T05:51:54.2969133Z src/orchestration-v2/ThreadSettlementService.ts(588,9): suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-11-11T05:51:54.2970010Z src/orchestration-v2/http.test.ts(54,23): suggestion TS377112: This input is already assignable to the schema's Encoded type. Use `decodeSync` to preserve compile-time type checking instead of discarding the input type through `decodeUnknownSync`. effect(preferTypedSchemaDecoder) 2026-11-11T05:51:54.2970894Z src/orchestration-v2/http.ts(231,11): suggestion TS377012: This Effect generator contains `try/catch`; in this context, error handling is expressed with Effect APIs such as Effect.try, Effect.tryPromise, Effect.catch, Effect.catchTag). effect(tryCatchInEffectGen) 2026-11-11T05:51:54.2971564Z src/orchestration-v2/runtimeLayer.test.ts(112,18): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2972097Z src/orchestration-v2/runtimeLayer.test.ts(922,11): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2972735Z src/persistence/initializeV2Database.ts(45,9): suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 2026-11-11T05:51:54.2973582Z src/preview/ServerBrowser.ts(479,23): suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-11-11T05:51:54.2974531Z src/preview/ServerBrowser.ts(686,9): suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-11-11T05:51:54.2975572Z src/preview/ServerBrowser.ts(695,25): suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-11-11T05:51:54.2976528Z src/preview/ServerBrowser.ts(697,30): suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-11-11T05:51:54.2977483Z src/preview/ServerBrowser.ts(707,17): suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-11-11T05:51:54.2978441Z src/preview/ServerBrowser.ts(711,13): suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-11-11T05:51:54.2979406Z src/preview/ServerBrowser.ts(1180,11): suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-11-11T05:51:54.2980374Z src/preview/ServerBrowser.ts(1663,17): suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-11-11T05:51:54.2981417Z src/preview/ServerBrowser.ts(1724,21): suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-11-11T05:51:54.2982231Z src/preview/ServerBrowser.ts(1727,58): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-11-11T05:51:54.2983003Z src/preview/ServerBrowser.ts(1733,38): suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-11-11T05:51:54.2983950Z src/preview/ServerBrowser.ts(1761,19): suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-11-11T05:51:54.2984907Z src/preview/ServerBrowser.ts(1790,19): suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-11-11T05:51:54.2985862Z src/preview/ServerBrowser.ts(1850,13): suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-11-11T05:51:54.2986814Z src/preview/ServerBrowser.ts(1914,15): suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-11-11T05:51:54.2987772Z src/preview/ServerBrowser.ts(1926,32): suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-11-11T05:51:54.2988727Z src/preview/ServerBrowser.ts(2166,15): suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2026-11-11T05:51:54.2989527Z src/preview/ServerBrowserStream.ts(209,7): suggestion TS377095: `Effect.orElseSucceed` expresses the same recovery more directly than `Effect.catch` followed by `Effect.succeed`. effect(catchToOrElseSucceed) 2026-11-11T05:51:54.2990129Z src/project/AgentSessionImporter.test.ts(68,13): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2990660Z src/project/ManagedProjectFolders.ts(335,13): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2991201Z src/project/ManagedProjectFolders.ts(337,15): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2991737Z src/project/ProjectSetupScriptRunner.test.ts(76,26): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.2992454Z src/provider/CodexInstallation.ts(205,26): suggestion TS377112: This input is already assignable to the schema's Encoded type. Use `decodeEffect` to preserve compile-time type checking instead of discarding the input type through `decodeUnknownEffect`. effect(preferTypedSchemaDecoder) 2026-11-11T05:51:54.2993234Z src/provider/CodexProvider.ts(492,11): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-11-11T05:51:54.2993950Z src/provider/ProviderAuthService.test.ts(284,24): suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) 2026-11-11T05:51:54.2994781Z src/provider/acp/AcpSessionRuntime.processTree.test.ts(384,13): suggestion TS377012: This Effect generator contains `try/catch`; in this context, error handling is expressed with Effect APIs such as Effect.try, Effect.tryPromise, Effect.catch, Effect.catchTag). effect(tryCatchInEffectGen) 2026-11-11T05:51:54.2995833Z src/provider/acp/AcpSessionRuntime.processTree.test.ts(408,9): suggestion TS377012: This Effect generator contains `try/catch`; in this context, error handling is expressed with Effect APIs such as Effect.try, Effect.tryPromise, Effect.catch, Effect.catchTag). effect(tryCatchInEffectGen) 2026-11-11T05:51:54.2996731Z src/provider/acp/AcpSessionRuntime.processTree.test.ts(411,9): suggestion TS377012: This Effect generator contains `try/catch`; in this context, error handling is expressed with Effect APIs such as Effect.try, Effect.tryPromise, Effect.catch, Effect.catchTag). effect(tryCatchInEffectGen) 2026-11-11T05:51:54.2997624Z src/provider/acp/AcpSessionRuntime.processTree.test.ts(415,11): suggestion TS377012: This Effect generator contains `try/catch`; in this context, error handling is expressed with Effect APIs such as Effect.try, Effect.tryPromise, Effect.catch, Effect.catchTag). effect(tryCatchInEffectGen) 2026-11-11T05:51:54.2998519Z src/provider/acp/AcpSessionRuntime.processTree.test.ts(557,13): suggestion TS377012: This Effect generator contains `try/catch`; in this context, error handling is expressed with Effect APIs such as Effect.try, Effect.tryPromise, Effect.catch, Effect.catchTag). effect(tryCatchInEffectGen) 2026-11-11T05:51:54.2999411Z src/provider/acp/AcpSessionRuntime.processTree.test.ts(570,9): suggestion TS377012: This Effect generator contains `try/catch`; in this context, error handling is expressed with Effect APIs such as Effect.try, Effect.tryPromise, Effect.catch, Effect.catchTag). effect(tryCatchInEffectGen) 2026-11-11T05:51:54.3000258Z src/pullRequest/PullRequestService.ts(2763,7): suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-11-11T05:51:54.3001076Z src/pullRequest/PullRequestService.ts(3122,7): suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2026-11-11T05:51:54.3001732Z src/relay/AgentAwarenessRelay.test.ts(270,9): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 2026-11-11T05:51:54.3002387Z src/scheduledTasks/RelayDeliveryProof.ts(47,9): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("webhook.verifyRelayDelivery")(function*(input) { ... }, ...pipeTransformations)`. effect(effectFnOpportunity) 2026-11-11T05:51:54.3003100Z src/scheduledTasks/ScheduledTaskService.ts(994,33): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-11-11T05:51:54.3003724Z src/secrets/SecretRequests.test.ts(169,30): suggestion TS377113: `Effect.forEach` expresses this effectful array mapping more directly than `Effect.all` over `Array#map`. effect(allOfMapToForEach) 2026-11-11T05:51:54.3004253Z src/secrets/SecretRequests.test.ts(361,12): suggestion TS377017: This Effect.gen contains a single return statement. effect(unnecessaryEffectGen) 2026-11-11T05:51:54.3004871Z src/secrets/SecretRequests.ts(76,9): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SecretRequests.answer")(function*(input) { ... })`. effect(effectFnOpportunity) 2026-11-11T05:51:54.3005621Z src/server.ts(467,5): suggestion TS377014: This generator returns an Effect-able value directly, which produces a nested `Effect>`. If the intended result is the inner Effect value, `return yield*` represents that form. effect(returnEffectInGen) 2026-11-11T05:51:54.3006308Z src/serverRuntimeStartup.test.ts(215,25): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-11-11T05:51:54.3006906Z src/serverSettings.test.ts(495,30): suggestion TS377113: `Effect.forEach` expresses this effectful array mapping more directly than `Effect.all` over `Array#map`. effect(allOfMapToForEach) 2026-11-11T05:51:54.3007554Z src/storageCleanup.ts(549,14): suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) 2026-11-11T05:51:54.3008249Z src/telemetry/AnalyticsService.ts(287,62): suggestion TS377132: `Effect.andThen` expresses this sequencing more directly than `Effect.flatMap` with a zero-parameter callback. effect(flatMapIgnoredParamToAndThen) 2026-11-11T05:51:54.3008894Z src/textGeneration/CodexTextGeneration.ts(90,13): suggestion TS377099: `Effect.ignore` expresses ignored failure more directly than `Effect.catch` returning `Effect.void`. effect(catchToIgnore) 2026-11-11T05:51:54.3009473Z src/usage/UsageService.ts(593,9): suggestion TS377015: This expression contains chained `pipe` calls that can be simplified to a single `pipe` call. effect(unnecessaryPipeChain) 2026-11-11T05:51:54.3010129Z src/vcs/GitVcsDriverCore.ts(3748,11): suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2026-11-11T05:51:54.3010874Z src/workspace/WorkspaceFileSystem.ts(168,15): suggestion TS377095: `Effect.orElseSucceed` expresses the same recovery more directly than `Effect.catch` followed by `Effect.succeed`. effect(catchToOrElseSucceed) 2026-11-11T05:51:54.3011505Z src/workspace/WorkspaceFileSystem.ts(168,34): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-11-11T05:51:54.3012072Z src/ws.test.ts(129,45): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 2026-11-11T05:51:54.3012639Z src/ws.ts(1335,23): suggestion TS377118: `Effect.fromOption` expresses this Option-to-Effect conversion more directly than `Option.match` or an Option tag conditional. effect(optionMatchToFromOption) 2026-11-11T05:51:54.3013276Z src/ws.ts(2244,22): suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) 2026-11-11T05:51:54.3013930Z src/ws.ts(2253,22): suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) 2026-11-11T05:51:54.3014580Z src/ws.ts(2261,22): suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) 2026-11-11T05:51:54.3015098Z 2026-11-11T05:51:54.3015193Z --- 2026-11-11T05:51:54.3027079Z vp run: 0/32 cache hit (0%). (Run `vp run --last-details` for full details) 2026-11-11T05:51:54.3069010Z Post job cleanup. 2026-11-11T05:51:54.3085258Z ##[start-action display=Setup Vite+;id=__d2f55627-354e-4003-975e-8561bfd30dd7.__voidzero-dev_setup-vp] 2026-11-11T05:51:54.3086979Z ##[end-action id=__d2f55627-354e-4003-975e-8561bfd30dd7.__voidzero-dev_setup-vp;outcome=skipped;conclusion=skipped;duration_ms=0] 2026-11-11T05:51:54.3088129Z ##[start-action display=Cache Vite+;id=__d2f55627-354e-4003-975e-8561bfd30dd7.__actions_cache] 2026-11-11T05:51:54.3089050Z ##[end-action id=__d2f55627-354e-4003-975e-8561bfd30dd7.__actions_cache;outcome=skipped;conclusion=skipped;duration_ms=0] 2026-11-11T05:51:54.3129292Z Post job cleanup. 2026-11-11T05:51:54.3643842Z [command]/usr/local/bin/git version 2026-11-11T05:51:54.3679105Z git version 2.55.0 2026-11-11T05:51:54.3699520Z Temporarily overriding HOME='/home/runner/_work/_temp/0ef72b4d-8504-404d-8554-12fcc5b0c70a' before making global git config changes 2026-11-11T05:51:54.3699894Z Adding repository directory to the temporary git global config as a safe directory 2026-11-11T05:51:54.3703297Z [command]/usr/local/bin/git config --global --add safe.directory /home/runner/_work/t3code/t3code 2026-11-11T05:51:54.3725360Z Removing SSH command configuration 2026-11-11T05:51:54.3728609Z [command]/usr/local/bin/git config --local --name-only --get-regexp core\.sshCommand 2026-11-11T05:51:54.3752172Z [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' || :" 2026-11-11T05:51:54.3870285Z fatal: No url found for submodule path '.repos/alchemy-effect/submodules/distilled' in .gitmodules 2026-11-11T05:51:54.3893396Z ##[warning]The process '/usr/local/bin/git' failed with exit code 128 2026-11-11T05:51:54.3933153Z A job completed hook has been configured by the self-hosted runner administrator 2026-11-11T05:51:54.3947052Z ##[group]Run '/job_completed.sh' 2026-11-11T05:51:54.3952897Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2026-11-11T05:51:54.3953082Z env: 2026-11-11T05:51:54.3953209Z BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 199 2026-11-11T05:51:54.3953369Z BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 335 2026-11-11T05:51:54.3953525Z BLACKSMITH_CHECK_RUN_ID: 130349287773 2026-11-11T05:51:54.3953704Z BLACKSMITH_JOB_DISPLAY_NAME: Build and Typecheck 2026-11-11T05:51:54.3953877Z GITHUB_ACTIONS_CACHE_MODE: write 2026-11-11T05:51:54.3954021Z ##[endgroup] 2026-11-11T05:51:54.4027355Z Docker container cache not activated, skipping hash computation. 2026-11-11T05:51:54.4350976Z No active SSH sessions detected. Proceeding with shutdown immediately. 2026-11-11T05:51:54.4797416Z Cleaning up orphan processes 2026-11-11T05:51:54.5037988Z Terminate orphan process: pid (3613) (bash)