﻿2026-05-10T11:44:29.9427550Z Current runner version: '2.334.0'
2026-05-10T11:44:29.9466318Z ##[group]Runner Image Provisioner
2026-05-10T11:44:29.9467680Z Hosted Compute Agent
2026-05-10T11:44:29.9469113Z Version: 20260213.493
2026-05-10T11:44:29.9470369Z Commit: 5c115507f6dd24b8de37d8bbe0bb4509d0cc0fa3
2026-05-10T11:44:29.9471765Z Build Date: 2026-02-13T00:28:41Z
2026-05-10T11:44:29.9472975Z Worker ID: {ec949b44-6eff-4fc6-98cd-0b00d4ab5dd5}
2026-05-10T11:44:29.9474442Z Azure Region: eastus2
2026-05-10T11:44:29.9475466Z ##[endgroup]
2026-05-10T11:44:29.9477731Z ##[group]Operating System
2026-05-10T11:44:29.9479125Z Ubuntu
2026-05-10T11:44:29.9480067Z 24.04.4
2026-05-10T11:44:29.9481107Z LTS
2026-05-10T11:44:29.9482057Z ##[endgroup]
2026-05-10T11:44:29.9483098Z ##[group]Runner Image
2026-05-10T11:44:29.9484299Z Image: ubuntu-24.04
2026-05-10T11:44:29.9485325Z Version: 20260413.86.1
2026-05-10T11:44:29.9487624Z Included Software: https://github.com/actions/runner-images/blob/ubuntu24/20260413.86/images/ubuntu/Ubuntu2404-Readme.md
2026-05-10T11:44:29.9490892Z Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu24%2F20260413.86
2026-05-10T11:44:29.9492792Z ##[endgroup]
2026-05-10T11:44:29.9494708Z ##[group]GITHUB_TOKEN Permissions
2026-05-10T11:44:29.9498767Z Contents: read
2026-05-10T11:44:29.9499904Z Metadata: read
2026-05-10T11:44:29.9500966Z ##[endgroup]
2026-05-10T11:44:29.9503878Z Secret source: Actions
2026-05-10T11:44:29.9505625Z Prepare workflow directory
2026-05-10T11:44:29.9979993Z Prepare all required actions
2026-05-10T11:44:30.0034442Z Getting action download info
2026-05-10T11:44:30.4582958Z Download action repository 'actions/checkout@v4' (SHA:34e114876b0b11c390a56381ad16ebd13914f8d5)
2026-05-10T11:44:31.4280235Z Download action repository 'pnpm/action-setup@v4' (SHA:b906affcce14559ad1aafd4ab0e942779e9f58b1)
2026-05-10T11:44:31.6971795Z Download action repository 'actions/setup-node@v4' (SHA:49933ea5288caeca8642d1e84afbd3f7d6820020)
2026-05-10T11:44:31.7921533Z Download action repository 'superfly/flyctl-actions@fc53c09e1bc3be6f54706524e3b82c4f462f77be' (SHA:fc53c09e1bc3be6f54706524e3b82c4f462f77be)
2026-05-10T11:44:31.9259270Z Download action repository 'actions/upload-artifact@v4' (SHA:ea165f8d65b6e75b540449e92b4886f43607fa02)
2026-05-10T11:44:32.1692197Z Complete job name: build-and-deploy
2026-05-10T11:44:32.2617762Z ##[group]Run actions/checkout@v4
2026-05-10T11:44:32.2619237Z with:
2026-05-10T11:44:32.2619951Z   repository: SaberMage/rebno
2026-05-10T11:44:32.2621058Z   token: ***
2026-05-10T11:44:32.2621748Z   ssh-strict: true
2026-05-10T11:44:32.2622464Z   ssh-user: git
2026-05-10T11:44:32.2623196Z   persist-credentials: true
2026-05-10T11:44:32.2624033Z   clean: true
2026-05-10T11:44:32.2624785Z   sparse-checkout-cone-mode: true
2026-05-10T11:44:32.2625694Z   fetch-depth: 1
2026-05-10T11:44:32.2626408Z   fetch-tags: false
2026-05-10T11:44:32.2627142Z   show-progress: true
2026-05-10T11:44:32.2627894Z   lfs: false
2026-05-10T11:44:32.2629015Z   submodules: false
2026-05-10T11:44:32.2629780Z   set-safe-directory: true
2026-05-10T11:44:32.2630939Z ##[endgroup]
2026-05-10T11:44:32.3814700Z Syncing repository: SaberMage/rebno
2026-05-10T11:44:32.3819088Z ##[group]Getting Git version info
2026-05-10T11:44:32.3821583Z Working directory is '/home/runner/work/rebno/rebno'
2026-05-10T11:44:32.3922145Z [command]/usr/bin/git version
2026-05-10T11:44:32.3923715Z git version 2.53.0
2026-05-10T11:44:32.3933245Z ##[endgroup]
2026-05-10T11:44:32.3943140Z Temporarily overriding HOME='/home/runner/work/_temp/24545b7b-2f46-4223-86f0-bc3a629efcda' before making global git config changes
2026-05-10T11:44:32.3948750Z Adding repository directory to the temporary git global config as a safe directory
2026-05-10T11:44:32.3952922Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/rebno/rebno
2026-05-10T11:44:32.3984729Z Deleting the contents of '/home/runner/work/rebno/rebno'
2026-05-10T11:44:32.3991365Z ##[group]Initializing the repository
2026-05-10T11:44:32.3996279Z [command]/usr/bin/git init /home/runner/work/rebno/rebno
2026-05-10T11:44:32.4080556Z hint: Using 'master' as the name for the initial branch. This default branch name
2026-05-10T11:44:32.4084348Z hint: will change to "main" in Git 3.0. To configure the initial branch name
2026-05-10T11:44:32.4088406Z hint: to use in all of your new repositories, which will suppress this warning,
2026-05-10T11:44:32.4093263Z hint: call:
2026-05-10T11:44:32.4094313Z hint:
2026-05-10T11:44:32.4095856Z hint: 	git config --global init.defaultBranch <name>
2026-05-10T11:44:32.4097693Z hint:
2026-05-10T11:44:32.4099784Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
2026-05-10T11:44:32.4102929Z hint: 'development'. The just-created branch can be renamed via this command:
2026-05-10T11:44:32.4105215Z hint:
2026-05-10T11:44:32.4106353Z hint: 	git branch -m <name>
2026-05-10T11:44:32.4107632Z hint:
2026-05-10T11:44:32.4110104Z hint: Disable this message with "git config set advice.defaultBranchName false"
2026-05-10T11:44:32.4113143Z Initialized empty Git repository in /home/runner/work/rebno/rebno/.git/
2026-05-10T11:44:32.4119101Z [command]/usr/bin/git remote add origin https://github.com/SaberMage/rebno
2026-05-10T11:44:32.4130535Z ##[endgroup]
2026-05-10T11:44:32.4133715Z ##[group]Disabling automatic garbage collection
2026-05-10T11:44:32.4136740Z [command]/usr/bin/git config --local gc.auto 0
2026-05-10T11:44:32.4174241Z ##[endgroup]
2026-05-10T11:44:32.4176753Z ##[group]Setting up auth
2026-05-10T11:44:32.4180404Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-05-10T11:44:32.4217568Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
2026-05-10T11:44:32.4511293Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-05-10T11:44:32.4547885Z [command]/usr/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-05-10T11:44:32.4779901Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-05-10T11:44:32.4820812Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-05-10T11:44:32.5057946Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic ***
2026-05-10T11:44:32.5096381Z ##[endgroup]
2026-05-10T11:44:32.5099383Z ##[group]Fetching the repository
2026-05-10T11:44:32.5109288Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +97a55b771b29277f25d4adccf86b3c2dd7daf9ed:refs/remotes/origin/main
2026-05-10T11:44:33.4946566Z From https://github.com/SaberMage/rebno
2026-05-10T11:44:33.4949702Z  * [new ref]         97a55b771b29277f25d4adccf86b3c2dd7daf9ed -> origin/main
2026-05-10T11:44:33.4978483Z ##[endgroup]
2026-05-10T11:44:33.4979477Z ##[group]Determining the checkout info
2026-05-10T11:44:33.4981445Z ##[endgroup]
2026-05-10T11:44:33.4986868Z [command]/usr/bin/git sparse-checkout disable
2026-05-10T11:44:33.5026802Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
2026-05-10T11:44:33.5054271Z ##[group]Checking out the ref
2026-05-10T11:44:33.5058989Z [command]/usr/bin/git checkout --progress --force -B main refs/remotes/origin/main
2026-05-10T11:44:34.2275074Z Switched to a new branch 'main'
2026-05-10T11:44:34.2281003Z branch 'main' set up to track 'origin/main'.
2026-05-10T11:44:34.2307799Z ##[endgroup]
2026-05-10T11:44:34.2353038Z [command]/usr/bin/git log -1 --format=%H
2026-05-10T11:44:34.2369454Z 97a55b771b29277f25d4adccf86b3c2dd7daf9ed
2026-05-10T11:44:34.2581608Z ##[group]Run pnpm/action-setup@v4
2026-05-10T11:44:34.2581906Z with:
2026-05-10T11:44:34.2582099Z   version: 10
2026-05-10T11:44:34.2582297Z   dest: ~/setup-pnpm
2026-05-10T11:44:34.2582696Z   run_install: null
2026-05-10T11:44:34.2582903Z   cache: false
2026-05-10T11:44:34.2583125Z   cache_dependency_path: pnpm-lock.yaml
2026-05-10T11:44:34.2583432Z   package_json_file: package.json
2026-05-10T11:44:34.2583686Z   standalone: false
2026-05-10T11:44:34.2583915Z ##[endgroup]
2026-05-10T11:44:34.4181452Z ##[group]Running self-installer...
2026-05-10T11:44:35.1238460Z Progress: resolved 1, reused 0, downloaded 0, added 0
2026-05-10T11:44:35.1390372Z Packages: +1
2026-05-10T11:44:35.1395127Z +
2026-05-10T11:44:35.5754762Z Progress: resolved 1, reused 0, downloaded 1, added 1, done
2026-05-10T11:44:35.6137560Z 
2026-05-10T11:44:35.6139034Z dependencies:
2026-05-10T11:44:35.6141352Z + pnpm 10.33.4 (11.0.9 is available)
2026-05-10T11:44:35.6144442Z 
2026-05-10T11:44:35.6195096Z Done in 1s
2026-05-10T11:44:35.6340146Z ##[endgroup]
2026-05-10T11:44:35.6359044Z Installation Completed!
2026-05-10T11:44:35.6496081Z ##[group]Run actions/setup-node@v4
2026-05-10T11:44:35.6496387Z with:
2026-05-10T11:44:35.6496630Z   node-version: 22
2026-05-10T11:44:35.6496856Z   cache: pnpm
2026-05-10T11:44:35.6497061Z   always-auth: false
2026-05-10T11:44:35.6497318Z   check-latest: false
2026-05-10T11:44:35.6497654Z   token: ***
2026-05-10T11:44:35.6497852Z env:
2026-05-10T11:44:35.6498467Z   PNPM_HOME: /home/runner/setup-pnpm/node_modules/.bin
2026-05-10T11:44:35.6498913Z ##[endgroup]
2026-05-10T11:44:35.8314204Z Found in cache @ /opt/hostedtoolcache/node/22.22.2/x64
2026-05-10T11:44:35.8321398Z ##[group]Environment details
2026-05-10T11:44:36.2797907Z node: v22.22.2
2026-05-10T11:44:36.2799071Z npm: 10.9.7
2026-05-10T11:44:36.2799668Z yarn: 1.22.22
2026-05-10T11:44:36.2801065Z ##[endgroup]
2026-05-10T11:44:36.2839009Z [command]/home/runner/setup-pnpm/node_modules/.bin/pnpm store path --silent
2026-05-10T11:44:36.6991570Z /home/runner/setup-pnpm/node_modules/.bin/store/v10
2026-05-10T11:44:36.8057429Z pnpm cache is not found
2026-05-10T11:44:36.8173645Z ##[group]Run pnpm install --frozen-lockfile
2026-05-10T11:44:36.8174084Z [36;1mpnpm install --frozen-lockfile[0m
2026-05-10T11:44:36.8202472Z shell: /usr/bin/bash -e {0}
2026-05-10T11:44:36.8202738Z env:
2026-05-10T11:44:36.8203005Z   PNPM_HOME: /home/runner/setup-pnpm/node_modules/.bin
2026-05-10T11:44:36.8203319Z ##[endgroup]
2026-05-10T11:44:37.1485574Z Scope: all 6 workspace projects
2026-05-10T11:44:37.2976560Z Lockfile is up to date, resolution step is skipped
2026-05-10T11:44:37.4079658Z Progress: resolved 1, reused 0, downloaded 0, added 0
2026-05-10T11:44:37.5240970Z Packages: +665
2026-05-10T11:44:37.5249576Z ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2026-05-10T11:44:38.4076457Z Progress: resolved 665, reused 0, downloaded 65, added 24
2026-05-10T11:44:39.4087791Z Progress: resolved 665, reused 0, downloaded 145, added 66
2026-05-10T11:44:40.4086271Z Progress: resolved 665, reused 0, downloaded 234, added 97
2026-05-10T11:44:41.4089732Z Progress: resolved 665, reused 0, downloaded 347, added 147
2026-05-10T11:44:42.4092789Z Progress: resolved 665, reused 0, downloaded 399, added 163
2026-05-10T11:44:43.4119771Z Progress: resolved 665, reused 0, downloaded 462, added 195
2026-05-10T11:44:44.4287321Z Progress: resolved 665, reused 0, downloaded 585, added 258
2026-05-10T11:44:45.4299877Z Progress: resolved 665, reused 0, downloaded 602, added 262
2026-05-10T11:44:45.4469950Z Packages are hard linked from the content-addressable store to the virtual store.
2026-05-10T11:44:45.4480669Z   Content-addressable store is at: /home/runner/setup-pnpm/node_modules/.bin/store/v10
2026-05-10T11:44:45.4483505Z   Virtual store is at:             node_modules/.pnpm
2026-05-10T11:44:46.3439801Z Progress: resolved 665, reused 0, downloaded 661, added 665, done
2026-05-10T11:44:46.6720270Z .../esbuild@0.18.20/node_modules/esbuild postinstall$ node install.js
2026-05-10T11:44:46.6729079Z .../node_modules/better-sqlite3 install$ prebuild-install || node-gyp rebuild --release
2026-05-10T11:44:46.6737731Z .../esbuild@0.25.12/node_modules/esbuild postinstall$ node install.js
2026-05-10T11:44:46.6746382Z .../esbuild@0.27.7/node_modules/esbuild postinstall$ node install.js
2026-05-10T11:44:46.7349535Z .../argon2@0.44.0/node_modules/argon2 install$ cross-env ZERO_AR_DATE=1 node-gyp-build
2026-05-10T11:44:46.8389486Z .../esbuild@0.18.20/node_modules/esbuild postinstall: Done
2026-05-10T11:44:46.8436189Z .../esbuild@0.25.12/node_modules/esbuild postinstall: Done
2026-05-10T11:44:46.8667661Z .../esbuild@0.27.7/node_modules/esbuild postinstall: Done
2026-05-10T11:44:47.0527049Z .../argon2@0.44.0/node_modules/argon2 install: Done
2026-05-10T11:44:47.1370927Z .../node_modules/better-sqlite3 install: Done
2026-05-10T11:44:47.3246881Z 
2026-05-10T11:44:47.3251178Z devDependencies:
2026-05-10T11:44:47.3258985Z + @better-auth/cli 1.4.21
2026-05-10T11:44:47.3260396Z 
2026-05-10T11:44:47.4179769Z ╭ Warning ─────────────────────────────────────────────────────────────────────╮
2026-05-10T11:44:47.4199233Z │                                                                              │
2026-05-10T11:44:47.4203862Z │   Ignored build scripts: @prisma/client@5.22.0, msgpackr-extract@3.0.3,      │
2026-05-10T11:44:47.4212026Z │   protobufjs@7.5.6, protobufjs@8.0.1.                                        │
2026-05-10T11:44:47.4216765Z │   Run "pnpm approve-builds" to pick which dependencies should be allowed     │
2026-05-10T11:44:47.4218526Z │   to run scripts.                                                            │
2026-05-10T11:44:47.4221701Z │                                                                              │
2026-05-10T11:44:47.4226874Z ╰──────────────────────────────────────────────────────────────────────────────╯
2026-05-10T11:44:47.4599480Z Done in 10.5s using pnpm v10.33.4
2026-05-10T11:44:47.5058427Z ##[group]Run for d in tools/asset-catalog tools/asset-pipeline tools/extract-gmd tools/protocol-doc tools/room-converter tools/save-format-doc; do
2026-05-10T11:44:47.5060255Z [36;1mfor d in tools/asset-catalog tools/asset-pipeline tools/extract-gmd tools/protocol-doc tools/room-converter tools/save-format-doc; do[0m
2026-05-10T11:44:47.5061426Z [36;1m  if [ -f "$d/package.json" ]; then[0m
2026-05-10T11:44:47.5061951Z [36;1m    echo "::group::pnpm install in $d"[0m
2026-05-10T11:44:47.5062589Z [36;1m    pnpm -C "$d" install --ignore-workspace --no-frozen-lockfile[0m
2026-05-10T11:44:47.5063202Z [36;1m    echo "::endgroup::"[0m
2026-05-10T11:44:47.5063607Z [36;1m  fi[0m
2026-05-10T11:44:47.5063919Z [36;1mdone[0m
2026-05-10T11:44:47.5092349Z shell: /usr/bin/bash -e {0}
2026-05-10T11:44:47.5092777Z env:
2026-05-10T11:44:47.5093178Z   PNPM_HOME: /home/runner/setup-pnpm/node_modules/.bin
2026-05-10T11:44:47.5093692Z ##[endgroup]
2026-05-10T11:44:47.5155834Z ##[group]pnpm install in tools/asset-catalog
2026-05-10T11:44:47.9767314Z Lockfile is up to date, resolution step is skipped
2026-05-10T11:44:48.0333497Z Progress: resolved 1, reused 0, downloaded 0, added 0
2026-05-10T11:44:48.0600083Z Packages: +52
2026-05-10T11:44:48.0600676Z ++++++++++++++++++++++++++++++++++++++++++++++++++++
2026-05-10T11:44:48.6996280Z Progress: resolved 52, reused 46, downloaded 6, added 52, done
2026-05-10T11:44:48.8028961Z 
2026-05-10T11:44:48.8058729Z devDependencies:
2026-05-10T11:44:48.8108912Z + @types/node 25.6.0
2026-05-10T11:44:48.8128777Z + tsx 4.21.0
2026-05-10T11:44:48.8129239Z + typescript 5.6.3
2026-05-10T11:44:48.8160397Z + vitest 4.1.5
2026-05-10T11:44:48.8198603Z 
2026-05-10T11:44:48.8239374Z ╭ Warning ─────────────────────────────────────────────────────────────────────╮
2026-05-10T11:44:48.8259081Z │                                                                              │
2026-05-10T11:44:48.8280585Z │   Ignored build scripts: esbuild@0.27.7.                                     │
2026-05-10T11:44:48.8281911Z │   Run "pnpm approve-builds" to pick which dependencies should be allowed     │
2026-05-10T11:44:48.8283085Z │   to run scripts.                                                            │
2026-05-10T11:44:48.8284074Z │                                                                              │
2026-05-10T11:44:48.8285444Z ╰──────────────────────────────────────────────────────────────────────────────╯
2026-05-10T11:44:48.8286198Z Done in 1.2s using pnpm v10.33.4
2026-05-10T11:44:48.8367376Z ##[endgroup]
2026-05-10T11:44:48.8381401Z ##[group]pnpm install in tools/asset-pipeline
2026-05-10T11:44:49.3109819Z Lockfile is up to date, resolution step is skipped
2026-05-10T11:44:49.3669876Z Progress: resolved 1, reused 0, downloaded 0, added 0
2026-05-10T11:44:49.3708788Z Packages: +64
2026-05-10T11:44:49.3989566Z ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2026-05-10T11:44:49.9365098Z Progress: resolved 64, reused 57, downloaded 7, added 64, done
2026-05-10T11:44:50.0519705Z 
2026-05-10T11:44:50.0520661Z dependencies:
2026-05-10T11:44:50.0521687Z + maxrects-packer 2.7.3
2026-05-10T11:44:50.0698680Z + sharp 0.34.5
2026-05-10T11:44:50.0810350Z 
2026-05-10T11:44:50.0813615Z devDependencies:
2026-05-10T11:44:50.0818600Z + @types/node 25.6.0
2026-05-10T11:44:50.1019117Z + tsx 4.21.0
2026-05-10T11:44:50.1038747Z + typescript 5.6.3
2026-05-10T11:44:50.1219120Z + vitest 3.2.4
2026-05-10T11:44:50.1238669Z 
2026-05-10T11:44:50.1239899Z ╭ Warning ─────────────────────────────────────────────────────────────────────╮
2026-05-10T11:44:50.1259230Z │                                                                              │
2026-05-10T11:44:50.1260321Z │   Ignored build scripts: esbuild@0.27.7, sharp@0.34.5.                       │
2026-05-10T11:44:50.1289245Z │   Run "pnpm approve-builds" to pick which dependencies should be allowed     │
2026-05-10T11:44:50.1299137Z │   to run scripts.                                                            │
2026-05-10T11:44:50.1319370Z │                                                                              │
2026-05-10T11:44:50.1320490Z ╰──────────────────────────────────────────────────────────────────────────────╯
2026-05-10T11:44:50.1321205Z Done in 1.2s using pnpm v10.33.4
2026-05-10T11:44:50.1322230Z ##[endgroup]
2026-05-10T11:44:50.1322860Z ##[group]pnpm install in tools/extract-gmd
2026-05-10T11:44:50.6849517Z Progress: resolved 1, reused 0, downloaded 0, added 0
2026-05-10T11:44:51.7191124Z Progress: resolved 97, reused 48, downloaded 1, added 0
2026-05-10T11:44:52.4369532Z Packages: +57
2026-05-10T11:44:52.4375920Z +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2026-05-10T11:44:52.5309658Z Progress: resolved 135, reused 58, downloaded 5, added 57, done
2026-05-10T11:44:52.6703068Z 
2026-05-10T11:44:52.6718981Z dependencies:
2026-05-10T11:44:52.6738857Z + sharp 0.34.5
2026-05-10T11:44:52.6751688Z 
2026-05-10T11:44:52.6780501Z devDependencies:
2026-05-10T11:44:52.6788867Z + @types/node 25.6.0 (25.6.2 is available)
2026-05-10T11:44:52.6806187Z + tsx 4.21.0
2026-05-10T11:44:52.6828959Z + typescript 5.6.3 (6.0.3 is available)
2026-05-10T11:44:52.6848686Z + vitest 4.1.5
2026-05-10T11:44:52.6849037Z 
2026-05-10T11:44:52.6869680Z ╭ Warning ─────────────────────────────────────────────────────────────────────╮
2026-05-10T11:44:52.6889022Z │                                                                              │
2026-05-10T11:44:52.6907265Z │   Ignored build scripts: esbuild@0.27.7, sharp@0.34.5.                       │
2026-05-10T11:44:52.6919296Z │   Run "pnpm approve-builds" to pick which dependencies should be allowed     │
2026-05-10T11:44:52.6929407Z │   to run scripts.                                                            │
2026-05-10T11:44:52.6941762Z │                                                                              │
2026-05-10T11:44:52.6969162Z ╰──────────────────────────────────────────────────────────────────────────────╯
2026-05-10T11:44:52.6978646Z Done in 2.5s using pnpm v10.33.4
2026-05-10T11:44:52.7119560Z ##[endgroup]
2026-05-10T11:44:52.7149290Z ##[group]pnpm install in tools/protocol-doc
2026-05-10T11:44:53.1528914Z Lockfile is up to date, resolution step is skipped
2026-05-10T11:44:53.2029246Z Progress: resolved 1, reused 0, downloaded 0, added 0
2026-05-10T11:44:53.2231508Z Packages: +52
2026-05-10T11:44:53.2289045Z ++++++++++++++++++++++++++++++++++++++++++++++++++++
2026-05-10T11:44:53.3739784Z Progress: resolved 52, reused 52, downloaded 0, added 52, done
2026-05-10T11:44:53.4462454Z 
2026-05-10T11:44:53.4463008Z devDependencies:
2026-05-10T11:44:53.4463718Z + @types/node 25.6.0
2026-05-10T11:44:53.4464331Z + tsx 4.21.0
2026-05-10T11:44:53.4464920Z + typescript 5.6.3
2026-05-10T11:44:53.4465519Z + vitest 4.1.5
2026-05-10T11:44:53.4465958Z 
2026-05-10T11:44:53.4552953Z ╭ Warning ─────────────────────────────────────────────────────────────────────╮
2026-05-10T11:44:53.4553967Z │                                                                              │
2026-05-10T11:44:53.4555282Z │   Ignored build scripts: esbuild@0.27.7.                                     │
2026-05-10T11:44:53.4556472Z │   Run "pnpm approve-builds" to pick which dependencies should be allowed     │
2026-05-10T11:44:53.4557540Z │   to run scripts.                                                            │
2026-05-10T11:44:53.4558736Z │                                                                              │
2026-05-10T11:44:53.4559851Z ╰──────────────────────────────────────────────────────────────────────────────╯
2026-05-10T11:44:53.4607212Z Done in 717ms using pnpm v10.33.4
2026-05-10T11:44:53.4698402Z ##[endgroup]
2026-05-10T11:44:53.4699629Z ##[group]pnpm install in tools/room-converter
2026-05-10T11:44:53.7959613Z Progress: resolved 1, reused 0, downloaded 0, added 0
2026-05-10T11:44:54.1323073Z Packages: +9
2026-05-10T11:44:54.1323799Z +++++++++
2026-05-10T11:44:54.1754063Z Progress: resolved 35, reused 9, downloaded 0, added 9, done
2026-05-10T11:44:54.2368796Z 
2026-05-10T11:44:54.2369253Z devDependencies:
2026-05-10T11:44:54.2369836Z + @types/node 25.6.0 (25.6.2 is available)
2026-05-10T11:44:54.2370313Z + tsx 4.21.0
2026-05-10T11:44:54.2370765Z + typescript 5.6.3 (6.0.3 is available)
2026-05-10T11:44:54.2371315Z + zod 3.25.76 (4.4.3 is available)
2026-05-10T11:44:54.2371624Z 
2026-05-10T11:44:54.2383772Z ╭ Warning ─────────────────────────────────────────────────────────────────────╮
2026-05-10T11:44:54.2385163Z │                                                                              │
2026-05-10T11:44:54.2386768Z │   Ignored build scripts: esbuild@0.27.7.                                     │
2026-05-10T11:44:54.2388343Z │   Run "pnpm approve-builds" to pick which dependencies should be allowed     │
2026-05-10T11:44:54.2389857Z │   to run scripts.                                                            │
2026-05-10T11:44:54.2391068Z │                                                                              │
2026-05-10T11:44:54.2392948Z ╰──────────────────────────────────────────────────────────────────────────────╯
2026-05-10T11:44:54.2435535Z Done in 749ms using pnpm v10.33.4
2026-05-10T11:44:54.2586072Z ##[endgroup]
2026-05-10T11:44:54.2587133Z ##[group]pnpm install in tools/save-format-doc
2026-05-10T11:44:54.5727889Z Lockfile is up to date, resolution step is skipped
2026-05-10T11:44:54.6049328Z Progress: resolved 1, reused 0, downloaded 0, added 0
2026-05-10T11:44:54.6217372Z Packages: +52
2026-05-10T11:44:54.6239227Z ++++++++++++++++++++++++++++++++++++++++++++++++++++
2026-05-10T11:44:54.7702241Z Progress: resolved 52, reused 52, downloaded 0, added 52, done
2026-05-10T11:44:54.8438619Z 
2026-05-10T11:44:54.8439464Z devDependencies:
2026-05-10T11:44:54.8440263Z + @types/node 25.6.0
2026-05-10T11:44:54.8440941Z + tsx 4.21.0
2026-05-10T11:44:54.8441584Z + typescript 5.6.3
2026-05-10T11:44:54.8442220Z + vitest 4.1.5
2026-05-10T11:44:54.8442683Z 
2026-05-10T11:44:54.8526804Z ╭ Warning ─────────────────────────────────────────────────────────────────────╮
2026-05-10T11:44:54.8528467Z │                                                                              │
2026-05-10T11:44:54.8530083Z │   Ignored build scripts: esbuild@0.27.7.                                     │
2026-05-10T11:44:54.8531467Z │   Run "pnpm approve-builds" to pick which dependencies should be allowed     │
2026-05-10T11:44:54.8532868Z │   to run scripts.                                                            │
2026-05-10T11:44:54.8534116Z │                                                                              │
2026-05-10T11:44:54.8535766Z ╰──────────────────────────────────────────────────────────────────────────────╯
2026-05-10T11:44:54.8577801Z Done in 576ms using pnpm v10.33.4
2026-05-10T11:44:54.8673120Z ##[endgroup]
2026-05-10T11:44:54.8715516Z ##[group]Run pnpm -r --filter "@rebno/*" build
2026-05-10T11:44:54.8716161Z [36;1mpnpm -r --filter "@rebno/*" build[0m
2026-05-10T11:44:54.8748431Z shell: /usr/bin/bash -e {0}
2026-05-10T11:44:54.8748871Z env:
2026-05-10T11:44:54.8749309Z   PNPM_HOME: /home/runner/setup-pnpm/node_modules/.bin
2026-05-10T11:44:54.8749860Z ##[endgroup]
2026-05-10T11:44:55.2179140Z Scope: 5 of 6 workspace projects
2026-05-10T11:44:55.2224564Z packages/db build$ tsc
2026-05-10T11:44:55.2247530Z packages/game-logic build$ tsc
2026-05-10T11:44:57.9045570Z packages/game-logic build: Done
2026-05-10T11:44:57.9069279Z packages/protocol prebuild$ node scripts/sync-from-tools-protocol-doc.mjs
2026-05-10T11:44:57.9533938Z packages/protocol prebuild: synced legacy-opcodes from /home/runner/work/rebno/rebno/tools/protocol-doc/output/protocol.ts
2026-05-10T11:44:57.9623963Z packages/protocol prebuild: Done
2026-05-10T11:44:57.9669438Z packages/protocol build$ tsc
2026-05-10T11:44:59.9519433Z packages/db build: Done
2026-05-10T11:45:01.3462553Z packages/protocol build: Done
2026-05-10T11:45:01.3470715Z apps/server build$ tsc -b
2026-05-10T11:45:08.2181206Z apps/server build: Done
2026-05-10T11:45:08.2319966Z ##[group]Run pnpm verify:phase-4
2026-05-10T11:45:08.2320316Z [36;1mpnpm verify:phase-4[0m
2026-05-10T11:45:08.2341919Z shell: /usr/bin/bash -e {0}
2026-05-10T11:45:08.2342181Z env:
2026-05-10T11:45:08.2342430Z   PNPM_HOME: /home/runner/setup-pnpm/node_modules/.bin
2026-05-10T11:45:08.2342759Z   SKIP_PHASE_3_CARRYOVER: 1
2026-05-10T11:45:08.2342993Z   SKIP_TRACE_CHECK: 1
2026-05-10T11:45:08.2343378Z ##[endgroup]
2026-05-10T11:45:08.5361187Z 
2026-05-10T11:45:08.5362008Z > rebno@0.0.0 verify:phase-4 /home/runner/work/rebno/rebno
2026-05-10T11:45:08.5362953Z > node scripts/verify-phase-4.mjs
2026-05-10T11:45:08.5363409Z 
2026-05-10T11:45:08.5687442Z 
2026-05-10T11:45:08.5687968Z === Workspace: typecheck ===
2026-05-10T11:45:08.5689013Z >>> pnpm -r typecheck
2026-05-10T11:45:08.8852681Z Scope: 5 of 6 workspace projects
2026-05-10T11:45:08.8907362Z packages/db typecheck$ tsc --noEmit
2026-05-10T11:45:08.8916571Z packages/game-logic typecheck$ tsc --noEmit
2026-05-10T11:45:11.4469642Z packages/game-logic typecheck: Done
2026-05-10T11:45:11.4502219Z packages/protocol typecheck$ tsc --noEmit
2026-05-10T11:45:13.4859312Z packages/db typecheck: Done
2026-05-10T11:45:14.9047709Z packages/protocol typecheck: Done
2026-05-10T11:45:14.9055238Z apps/server typecheck$ tsc --noEmit
2026-05-10T11:45:14.9064471Z apps/client typecheck$ tsc --noEmit
2026-05-10T11:45:26.1464986Z apps/client typecheck: Done
2026-05-10T11:45:26.8703859Z apps/server typecheck: Done
2026-05-10T11:45:26.8799450Z 
2026-05-10T11:45:26.8800031Z === Lint: protocol-sync ===
2026-05-10T11:45:26.8800955Z >>> pnpm lint:protocol-sync
2026-05-10T11:45:27.1803455Z 
2026-05-10T11:45:27.1804479Z > rebno@0.0.0 lint:protocol-sync /home/runner/work/rebno/rebno
2026-05-10T11:45:27.1805704Z > node tools/scripts/lint-protocol-sync.mjs
2026-05-10T11:45:27.1806409Z 
2026-05-10T11:45:27.2097372Z lint-protocol-sync: OK
2026-05-10T11:45:27.2211321Z 
2026-05-10T11:45:27.2211928Z === Lint: game-logic-purity ===
2026-05-10T11:45:27.2212747Z >>> pnpm lint:game-logic-purity
2026-05-10T11:45:27.5259065Z 
2026-05-10T11:45:27.5260166Z > rebno@0.0.0 lint:game-logic-purity /home/runner/work/rebno/rebno
2026-05-10T11:45:27.5261450Z > node tools/scripts/lint-game-logic-purity.mjs
2026-05-10T11:45:27.5262159Z 
2026-05-10T11:45:27.5583245Z lint-game-logic-purity: OK (6 file(s) clean)
2026-05-10T11:45:27.5698706Z 
2026-05-10T11:45:27.5699345Z === Lint: better-auth-schema-sync ===
2026-05-10T11:45:27.5700210Z >>> pnpm lint:better-auth-schema-sync
2026-05-10T11:45:27.8727985Z 
2026-05-10T11:45:27.8729372Z > rebno@0.0.0 lint:better-auth-schema-sync /home/runner/work/rebno/rebno
2026-05-10T11:45:27.8733163Z > node tools/scripts/lint-better-auth-schema-sync.mjs
2026-05-10T11:45:27.8733977Z 
2026-05-10T11:45:29.5309905Z lint-better-auth-schema-sync: OK
2026-05-10T11:45:29.5428654Z 
2026-05-10T11:45:29.5429199Z === Lint: rate-limit-budgets ===
2026-05-10T11:45:29.5430114Z >>> pnpm lint:rate-limit-budgets
2026-05-10T11:45:29.8448589Z 
2026-05-10T11:45:29.8449911Z > rebno@0.0.0 lint:rate-limit-budgets /home/runner/work/rebno/rebno
2026-05-10T11:45:29.8451354Z > node tools/scripts/lint-rate-limit-budgets.mjs
2026-05-10T11:45:29.8452068Z 
2026-05-10T11:45:29.8749484Z lint-rate-limit-budgets: OK (5 D-22 budgets locked)
2026-05-10T11:45:29.8868715Z 
2026-05-10T11:45:29.8869261Z === Lint: no-clipboard-rce ===
2026-05-10T11:45:29.8870004Z >>> pnpm lint:no-clipboard-rce
2026-05-10T11:45:30.1871147Z 
2026-05-10T11:45:30.1872292Z > rebno@0.0.0 lint:no-clipboard-rce /home/runner/work/rebno/rebno
2026-05-10T11:45:30.1873501Z > node tools/scripts/lint-no-clipboard-rce.mjs
2026-05-10T11:45:30.1874145Z 
2026-05-10T11:45:30.2192927Z lint-no-clipboard-rce: OK (21 file(s) clean)
2026-05-10T11:45:30.2307819Z 
2026-05-10T11:45:30.2308542Z === Lint: room-layout ===
2026-05-10T11:45:30.2309071Z >>> pnpm lint:room-layout
2026-05-10T11:45:30.5318817Z 
2026-05-10T11:45:30.5336052Z > rebno@0.0.0 lint:room-layout /home/runner/work/rebno/rebno
2026-05-10T11:45:30.5337503Z > node tools/scripts/lint-room-layout.mjs
2026-05-10T11:45:30.5338034Z 
2026-05-10T11:45:30.5669454Z lint-room-layout: OK
2026-05-10T11:45:30.5783922Z 
2026-05-10T11:45:30.5784384Z === ADR 0004 lint ===
2026-05-10T11:45:30.5785061Z >>> pnpm lint:adr:0004
2026-05-10T11:45:30.8808987Z 
2026-05-10T11:45:30.8819723Z > rebno@0.0.0 lint:adr:0004 /home/runner/work/rebno/rebno
2026-05-10T11:45:30.8824530Z > node tools/asset-catalog/scripts/lint-adr.mjs docs/adr/0004-room-hot-reload.md --no-matrix
2026-05-10T11:45:30.8828408Z 
2026-05-10T11:45:30.9095950Z OK: ADR docs/adr/0004-room-hot-reload.md validated (no-matrix mode — Michael Nygard sections present)
2026-05-10T11:45:30.9206676Z 
2026-05-10T11:45:30.9207158Z === Drizzle: emit-check ===
2026-05-10T11:45:30.9208469Z >>> pnpm db:emit-check
2026-05-10T11:45:31.2229302Z 
2026-05-10T11:45:31.2230321Z > rebno@0.0.0 db:emit-check /home/runner/work/rebno/rebno
2026-05-10T11:45:31.2233395Z > pnpm -C packages/db exec drizzle-kit generate && node -e "require('fs').copyFileSync('packages/db/migrations/0001_baseline.sql','docs/extracted-server/0001_baseline.sql')" && git diff --exit-code packages/db/migrations/0001_baseline.sql docs/extracted-server/0001_baseline.sql
2026-05-10T11:45:31.2235360Z 
2026-05-10T11:45:31.6679695Z No config path provided, using default 'drizzle.config.ts'
2026-05-10T11:45:31.6685467Z Reading config file '/home/runner/work/rebno/rebno/packages/db/drizzle.config.ts'
2026-05-10T11:45:32.0930621Z 8 tables
2026-05-10T11:45:32.0931555Z accounts 8 columns 1 indexes 0 fks
2026-05-10T11:45:32.0932463Z audit_log 6 columns 0 indexes 2 fks
2026-05-10T11:45:32.0935645Z characters 9 columns 0 indexes 1 fks
2026-05-10T11:45:32.0936540Z inventory_items 4 columns 0 indexes 1 fks
2026-05-10T11:45:32.0937530Z legacy_credentials_staging 6 columns 0 indexes 0 fks
2026-05-10T11:45:32.0938859Z message_board_replies 5 columns 0 indexes 2 fks
2026-05-10T11:45:32.0939796Z message_board_topics 7 columns 0 indexes 1 fks
2026-05-10T11:45:32.0940571Z sessions 5 columns 0 indexes 1 fks
2026-05-10T11:45:32.0941107Z 
2026-05-10T11:45:32.0942358Z No schema changes, nothing to migrate 😴
2026-05-10T11:45:32.4240599Z 
2026-05-10T11:45:32.4241328Z === Drizzle: schema-sync ===
2026-05-10T11:45:32.4242230Z >>> pnpm lint:schema-sync
2026-05-10T11:45:32.7235999Z 
2026-05-10T11:45:32.7237046Z > rebno@0.0.0 lint:schema-sync /home/runner/work/rebno/rebno
2026-05-10T11:45:32.7241065Z > node -e "const a=require('fs').readFileSync('packages/db/migrations/0001_baseline.sql');const b=require('fs').readFileSync('docs/extracted-server/0001_baseline.sql');if(Buffer.compare(a,b)!==0){console.error('docs/extracted-server/0001_baseline.sql out of sync with packages/db/migrations/0001_baseline.sql');process.exit(1)}console.log('OK')"
2026-05-10T11:45:32.7243751Z 
2026-05-10T11:45:32.7527280Z OK
2026-05-10T11:45:32.7647031Z 
2026-05-10T11:45:32.7647626Z === Drizzle: source-comments ===
2026-05-10T11:45:32.7648754Z >>> pnpm lint:source-comments
2026-05-10T11:45:33.0867981Z 
2026-05-10T11:45:33.0869313Z > rebno@0.0.0 lint:source-comments /home/runner/work/rebno/rebno
2026-05-10T11:45:33.0870737Z > pnpm -C packages/db run lint:source-comments
2026-05-10T11:45:33.0871438Z 
2026-05-10T11:45:33.3967897Z 
2026-05-10T11:45:33.3969270Z > @rebno/db@0.1.0 lint:source-comments /home/runner/work/rebno/rebno/packages/db
2026-05-10T11:45:33.3970722Z > node scripts/check-source-comments.mjs
2026-05-10T11:45:33.3971366Z 
2026-05-10T11:45:33.4268989Z check-source-comments: OK (50 columns, all SOURCE-cited)
2026-05-10T11:45:33.4474080Z 
2026-05-10T11:45:33.4474604Z === Workspace: test ===
2026-05-10T11:45:33.4475340Z >>> pnpm -r test
2026-05-10T11:45:33.7728735Z Scope: 5 of 6 workspace projects
2026-05-10T11:45:33.7783134Z packages/db test$ vitest run
2026-05-10T11:45:33.7792642Z packages/game-logic test$ vitest run
2026-05-10T11:45:34.2840413Z packages/game-logic test: [1m[30m[46m RUN [49m[39m[22m [36mv4.1.5 [39m[90m/home/runner/work/rebno/rebno/packages/game-logic[39m
2026-05-10T11:45:34.2850124Z packages/db test: [1m[30m[46m RUN [49m[39m[22m [36mv4.1.5 [39m[90m/home/runner/work/rebno/rebno/packages/db[39m
2026-05-10T11:45:34.6705174Z packages/game-logic test:  [32m✓[39m test/golden.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 32[2mms[22m[39m
2026-05-10T11:45:34.9233467Z packages/game-logic test:  [32m✓[39m test/platform-cycle.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 23[2mms[22m[39m
2026-05-10T11:45:35.1630447Z packages/game-logic test:  [32m✓[39m test/accumulator.test.ts [2m([22m[2m7 tests[22m[2m)[22m[32m 7[2mms[22m[39m
2026-05-10T11:45:35.2896644Z packages/db test:  [32m✓[39m tests/promotion.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 10[2mms[22m[39m
2026-05-10T11:45:35.3851397Z packages/game-logic test:  [32m✓[39m test/rng.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 8[2mms[22m[39m
2026-05-10T11:45:35.3952789Z packages/game-logic test: [2m Test Files [22m [1m[32m4 passed[39m[22m[90m (4)[39m
2026-05-10T11:45:35.3954786Z packages/game-logic test: [2m      Tests [22m [1m[32m21 passed[39m[22m[90m (21)[39m
2026-05-10T11:45:35.3956660Z packages/game-logic test: [2m   Start at [22m 11:45:34
2026-05-10T11:45:35.3959005Z packages/game-logic test: [2m   Duration [22m 1.09s[2m (transform 122ms, setup 0ms, import 205ms, tests 70ms, environment 1ms)[22m
2026-05-10T11:45:35.4529493Z packages/game-logic test: Done
2026-05-10T11:45:35.4548871Z packages/protocol test$ vitest run
2026-05-10T11:45:35.5275102Z packages/db test:  [32m✓[39m tests/save-format-traceability.test.ts [2m([22m[2m8 tests[22m[2m)[22m[32m 8[2mms[22m[39m
2026-05-10T11:45:35.9568996Z packages/protocol test: [1m[30m[46m RUN [49m[39m[22m [36mv4.1.5 [39m[90m/home/runner/work/rebno/rebno/packages/protocol[39m
2026-05-10T11:45:36.3552336Z packages/db test:  [32m✓[39m tests/schema-shape.test.ts [2m([22m[2m10 tests[22m[2m)[22m[32m 13[2mms[22m[39m
2026-05-10T11:45:36.3554238Z packages/db test: [2m Test Files [22m [1m[32m3 passed[39m[22m[90m (3)[39m
2026-05-10T11:45:36.3567718Z packages/db test: [2m      Tests [22m [1m[32m22 passed[39m[22m[90m (22)[39m
2026-05-10T11:45:36.3570030Z packages/db test: [2m   Start at [22m 11:45:34
2026-05-10T11:45:36.3572320Z packages/db test: [2m   Duration [22m 2.04s[2m (transform 168ms, setup 0ms, import 1.42s, tests 31ms, environment 1ms)[22m
2026-05-10T11:45:36.3666098Z packages/protocol test:  [32m✓[39m test/codec.test.ts [2m([22m[2m18 tests[22m[2m)[22m[32m 22[2mms[22m[39m
2026-05-10T11:45:36.3739151Z packages/db test: Done
2026-05-10T11:45:36.5285228Z packages/protocol test:  [32m✓[39m test/intents.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 7[2mms[22m[39m
2026-05-10T11:45:36.6931071Z packages/protocol test:  [32m✓[39m test/schema-shape.test.ts [2m([22m[2m3 tests[22m[2m)[22m[32m 5[2mms[22m[39m
2026-05-10T11:45:36.8649129Z packages/protocol test:  [32m✓[39m test/state.test.ts [2m([22m[2m3 tests[22m[2m)[22m[32m 4[2mms[22m[39m
2026-05-10T11:45:36.8657587Z packages/protocol test: [2m Test Files [22m [1m[32m4 passed[39m[22m[90m (4)[39m
2026-05-10T11:45:36.8706989Z packages/protocol test: [2m      Tests [22m [1m[32m30 passed[39m[22m[90m (30)[39m
2026-05-10T11:45:36.8709102Z packages/protocol test: [2m   Start at [22m 11:45:35
2026-05-10T11:45:36.8710998Z packages/protocol test: [2m   Duration [22m 917ms[2m (transform 152ms, setup 0ms, import 281ms, tests 38ms, environment 1ms)[22m
2026-05-10T11:45:36.8844554Z packages/protocol test: Done
2026-05-10T11:45:36.8851007Z apps/client test$ vitest run --exclude 'test/e2e/**'
2026-05-10T11:45:36.8853576Z apps/server test$ vitest run --exclude 'test/**/*.integ.test.ts'
2026-05-10T11:45:37.4630211Z apps/server test: [1m[30m[46m RUN [49m[39m[22m [36mv4.1.5 [39m[90m/home/runner/work/rebno/rebno/apps/server[39m
2026-05-10T11:45:37.4632607Z apps/client test: [1m[46m RUN [49m[22m [36mv3.2.4 [39m[90m/home/runner/work/rebno/rebno/apps/client[39m
2026-05-10T11:45:38.6322785Z apps/server test:  [32m✓[39m test/persistence.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m 74[2mms[22m[39m
2026-05-10T11:45:38.9395759Z apps/server test:  [32m✓[39m test/rate-limit.test.ts [2m([22m[2m7 tests[22m[2m)[22m[32m 11[2mms[22m[39m
2026-05-10T11:45:38.9872863Z apps/client test: [90mstderr[2m | src/__test__/game-scene.test.ts[2m > [22m[2mscenes/GameScene[2m > [22m[2mtest 5: onRoomLayout calls verifyRoomLayout first; render skipped on false
2026-05-10T11:45:38.9927554Z apps/client test: [22m[39mroom_layout signature did not verify — rendering skipped for mvp-lobby 000
2026-05-10T11:45:39.0067210Z apps/client test:  [32m✓[39m src/__test__/game-scene.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 167[2mms[22m[39m
2026-05-10T11:45:39.2545371Z apps/server test:  [32m✓[39m test/room-key.test.ts [2m([22m[2m7 tests[22m[2m)[22m[32m 34[2mms[22m[39m
2026-05-10T11:45:39.5532703Z apps/server test: {"level":40,"time":1778413539548,"pid":3242,"hostname":"runnervmeorf1","path":"/api/foo","msg":"staging_invite_rejected"}
2026-05-10T11:45:39.5583807Z apps/server test: {"level":40,"time":1778413539551,"pid":3242,"hostname":"runnervmeorf1","path":"/api/foo","msg":"staging_invite_rejected"}
2026-05-10T11:45:39.5586114Z apps/server test: {"level":40,"time":1778413539552,"pid":3242,"hostname":"runnervmeorf1","path":"/api/foo","msg":"staging_invite_rejected"}
2026-05-10T11:45:39.5591756Z apps/server test:  [32m✓[39m test/staging-invite.test.ts [2m([22m[2m8 tests[22m[2m)[22m[32m 16[2mms[22m[39m
2026-05-10T11:45:40.1760544Z apps/client test:  [32m✓[39m src/__test__/login-scene.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 16[2mms[22m[39m
2026-05-10T11:45:40.5046125Z apps/server test: {"level":30,"time":1778413540493,"pid":3253,"hostname":"runnervmeorf1","password":"[Redacted]","session_token":"[Redacted]","msg":"login"}
2026-05-10T11:45:40.5056556Z apps/server test:  [32m✓[39m test/otel-init.test.ts [2m([22m[2m4 tests[22m[2m)[22m[33m 724[2mms[22m[39m
2026-05-10T11:45:40.5087700Z apps/server test:      [33m[2m✓[22m[39m does not throw when OTEL_EXPORTER_OTLP_ENDPOINT is unset [33m 592[2mms[22m[39m
2026-05-10T11:45:41.4340028Z apps/client test:  [32m✓[39m src/__test__/colyseus-client.test.ts [2m([22m[2m8 tests[22m[2m)[22m[32m 15[2mms[22m[39m
2026-05-10T11:45:41.4801464Z apps/server test: [90mstdout[2m | test/run-migrations.test.ts[2m > [22m[2mrun-migrations.ts (Plan 12)[2m > [22m[2mScenario 1: fresh DB — migrate creates accounts table and records migration row
2026-05-10T11:45:41.4819875Z apps/server test: [22m[39m[run-migrations] opening /tmp/rebno-migrate-test-ofgeGE/rebno.db
2026-05-10T11:45:41.4831214Z apps/server test: [run-migrations] migrationsFolder=/home/runner/work/rebno/rebno/packages/db/migrations
2026-05-10T11:45:41.4833432Z apps/server test: [run-migrations] OK
2026-05-10T11:45:41.4940540Z apps/server test: [90mstdout[2m | test/run-migrations.test.ts[2m > [22m[2mrun-migrations.ts (Plan 12)[2m > [22m[2mScenario 2: pre-bootstrapped DB (Assumption A7) — reconcile seeds row before migrate runs
2026-05-10T11:45:41.4959428Z apps/server test: [22m[39m[run-migrations] opening /tmp/rebno-migrate-test-CuNhpq/rebno.db
2026-05-10T11:45:41.4960851Z apps/server test: [run-migrations] migrationsFolder=/home/runner/work/rebno/rebno/packages/db/migrations
2026-05-10T11:45:41.4962848Z apps/server test: [run-migrations] reconciled __drizzle_migrations for pre-bootstrap DB (Assumption A7) — seeded 0001_baseline
2026-05-10T11:45:41.4979034Z apps/server test: [run-migrations] OK
2026-05-10T11:45:41.5020132Z apps/server test: [90mstdout[2m | test/run-migrations.test.ts[2m > [22m[2mrun-migrations.ts (Plan 12)[2m > [22m[2mScenario 3: idempotent second run — no error, no extra rows
2026-05-10T11:45:41.5039412Z apps/server test: [22m[39m[run-migrations] opening /tmp/rebno-migrate-test-qmJyBk/rebno.db
2026-05-10T11:45:41.5059326Z apps/server test: [run-migrations] migrationsFolder=/home/runner/work/rebno/rebno/packages/db/migrations
2026-05-10T11:45:41.5076345Z apps/server test: [run-migrations] OK
2026-05-10T11:45:41.5078594Z apps/server test: [90mstdout[2m | test/run-migrations.test.ts[2m > [22m[2mrun-migrations.ts (Plan 12)[2m > [22m[2mScenario 3: idempotent second run — no error, no extra rows
2026-05-10T11:45:41.5099393Z apps/server test: [22m[39m[run-migrations] opening /tmp/rebno-migrate-test-qmJyBk/rebno.db
2026-05-10T11:45:41.5139317Z apps/server test: [run-migrations] migrationsFolder=/home/runner/work/rebno/rebno/packages/db/migrations
2026-05-10T11:45:41.5140764Z apps/server test: [run-migrations] OK
2026-05-10T11:45:41.5169895Z apps/server test:  [32m✓[39m test/run-migrations.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 54[2mms[22m[39m
2026-05-10T11:45:41.8340192Z apps/server test:  [32m✓[39m test/log.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 18[2mms[22m[39m
2026-05-10T11:45:42.0696325Z apps/server test:  [32m✓[39m test/admin-stubs.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 9[2mms[22m[39m
2026-05-10T11:45:42.3497214Z apps/server test:  [32m✓[39m test/legacy-login.test.ts [2m([22m[2m8 tests[22m[2m)[22m[32m 23[2mms[22m[39m
2026-05-10T11:45:42.5808587Z apps/server test:  [32m✓[39m test/health.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 7[2mms[22m[39m
2026-05-10T11:45:42.6329299Z apps/client test:  [32m✓[39m src/__test__/reconnect.test.ts [2m([22m[2m13 tests[22m[2m)[22m[32m 105[2mms[22m[39m
2026-05-10T11:45:43.4928422Z apps/server test: [90mstdout[2m | test/tick-accumulator.test.ts
2026-05-10T11:45:43.4931893Z apps/server test: [22m[39m◇ injected env (50) from ../../../../../../../etc/environment // tip: ⌘ override existing { override: true }
2026-05-10T11:45:43.4933788Z apps/server test: ℹ️  optional .env file not found: .env.test, .env
2026-05-10T11:45:43.9280115Z apps/client test:  [32m✓[39m src/__test__/chat-hud.test.ts [2m([22m[2m9 tests[22m[2m)[22m[32m 116[2mms[22m[39m
2026-05-10T11:45:44.2394549Z apps/server test:  [32m✓[39m test/tick-accumulator.test.ts [2m([22m[2m8 tests[22m[2m)[22m[32m 7[2mms[22m[39m
2026-05-10T11:45:44.2459484Z apps/server test: [2m Test Files [22m [1m[32m11 passed[39m[22m[90m (11)[39m
2026-05-10T11:45:44.2479885Z apps/server test: [2m      Tests [22m [1m[32m61 passed[39m[22m[90m (61)[39m
2026-05-10T11:45:44.2518992Z apps/server test: [2m   Start at [22m 11:45:37
2026-05-10T11:45:44.2565709Z apps/server test: [2m   Duration [22m 6.78s[2m (transform 436ms, setup 0ms, import 3.46s, tests 979ms, environment 2ms)[22m
2026-05-10T11:45:44.2950467Z apps/server test: Done
2026-05-10T11:45:44.7535045Z apps/client test:  [32m✓[39m src/__test__/input-dispatcher.test.ts [2m([22m[2m10 tests[22m[2m)[22m[32m 15[2mms[22m[39m
2026-05-10T11:45:45.4859226Z apps/client test:  [32m✓[39m src/__test__/force-reset-overlay.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m 79[2mms[22m[39m
2026-05-10T11:45:46.1480819Z apps/client test:  [32m✓[39m src/__test__/prediction.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 5[2mms[22m[39m
2026-05-10T11:45:46.8254221Z apps/client test:  [32m✓[39m src/__test__/extrapolation.test.ts [2m([22m[2m7 tests[22m[2m)[22m[32m 5[2mms[22m[39m
2026-05-10T11:45:47.4823926Z apps/client test:  [32m✓[39m src/__test__/reconciler.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 6[2mms[22m[39m
2026-05-10T11:45:48.1714277Z apps/client test:  [32m✓[39m src/__test__/nameplate.test.ts [2m([22m[2m3 tests[22m[2m)[22m[32m 25[2mms[22m[39m
2026-05-10T11:45:48.8531783Z apps/client test:  [32m✓[39m src/__test__/room-layout-verify.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 9[2mms[22m[39m
2026-05-10T11:45:49.5277634Z apps/client test:  [32m✓[39m src/__test__/auth-client.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m 7[2mms[22m[39m
2026-05-10T11:45:50.2033522Z apps/client test:  [32m✓[39m src/__test__/atlas-loader.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 8[2mms[22m[39m
2026-05-10T11:45:50.8559798Z apps/client test:  [32m✓[39m src/__test__/protocol-version-check.test.ts [2m([22m[2m7 tests[22m[2m)[22m[32m 5[2mms[22m[39m
2026-05-10T11:45:51.5156181Z apps/client test:  [32m✓[39m src/__test__/env.test.ts [2m([22m[2m5 tests[22m[2m | [22m[33m4 skipped[39m[2m)[22m[32m 4[2mms[22m[39m
2026-05-10T11:45:51.5369822Z apps/client test: [2m Test Files [22m [1m[32m16 passed[39m[22m[90m (16)[39m
2026-05-10T11:45:51.5377269Z apps/client test: [2m      Tests [22m [1m[32m98 passed[39m[22m[2m | [22m[90m4 todo[39m[90m (102)[39m
2026-05-10T11:45:51.5383269Z apps/client test: [2m   Start at [22m 11:45:37
2026-05-10T11:45:51.5385252Z apps/client test: [2m   Duration [22m 14.08s[2m (transform 564ms, setup 49ms, collect 868ms, tests 586ms, environment 8.08s, prepare 1.74s)[22m
2026-05-10T11:45:51.7274198Z apps/client test: Done
2026-05-10T11:45:51.7399951Z 
2026-05-10T11:45:51.7403592Z verify-phase-4: OK (12 steps green)
2026-05-10T11:45:51.7571314Z ##[group]Run pnpm verify:phase-5
2026-05-10T11:45:51.7571643Z [36;1mpnpm verify:phase-5[0m
2026-05-10T11:45:51.7593209Z shell: /usr/bin/bash -e {0}
2026-05-10T11:45:51.7593629Z env:
2026-05-10T11:45:51.7594037Z   PNPM_HOME: /home/runner/setup-pnpm/node_modules/.bin
2026-05-10T11:45:51.7594527Z ##[endgroup]
2026-05-10T11:45:52.0716487Z 
2026-05-10T11:45:52.0717675Z > rebno@0.0.0 verify:phase-5 /home/runner/work/rebno/rebno
2026-05-10T11:45:52.0720988Z > node scripts/verify-phase-5.mjs
2026-05-10T11:45:52.0721385Z 
2026-05-10T11:45:52.1022767Z 
2026-05-10T11:45:52.1023474Z === Phase 4 carry-over: verify-phase-4 ===
2026-05-10T11:45:52.1026080Z >>> pnpm verify:phase-4
2026-05-10T11:45:52.4065857Z 
2026-05-10T11:45:52.4069730Z > rebno@0.0.0 verify:phase-4 /home/runner/work/rebno/rebno
2026-05-10T11:45:52.4072505Z > node scripts/verify-phase-4.mjs
2026-05-10T11:45:52.4072850Z 
2026-05-10T11:45:52.4360119Z 
2026-05-10T11:45:52.4360782Z === Phase 3 carry-over: verify-phase-3 ===
2026-05-10T11:45:52.4363429Z >>> pnpm verify:phase-3
2026-05-10T11:45:52.7385424Z 
2026-05-10T11:45:52.7463455Z > rebno@0.0.0 verify:phase-3 /home/runner/work/rebno/rebno
2026-05-10T11:45:52.7464634Z > node scripts/verify-phase-3.mjs
2026-05-10T11:45:52.7465505Z 
2026-05-10T11:45:52.7765689Z 
2026-05-10T11:45:52.7766046Z === Plan 01: wiki errata ===
2026-05-10T11:45:52.7766593Z >>> pnpm lint:wiki-errata
2026-05-10T11:45:53.0893109Z 
2026-05-10T11:45:53.0893707Z > rebno@0.0.0 lint:wiki-errata /home/runner/work/rebno/rebno
2026-05-10T11:45:53.0894573Z > node tools/asset-catalog/scripts/lint-wiki-errata.mjs
2026-05-10T11:45:53.0894982Z 
2026-05-10T11:45:53.1192674Z lint-wiki-errata: OK (file_text_* errata present in both targets)
2026-05-10T11:45:53.1298907Z 
2026-05-10T11:45:53.1299766Z === Plan 02: protocol-doc verify ===
2026-05-10T11:45:53.1301008Z >>> pnpm protocol-doc:verify
2026-05-10T11:45:53.4407604Z 
2026-05-10T11:45:53.4408410Z > rebno@0.0.0 protocol-doc:verify /home/runner/work/rebno/rebno
2026-05-10T11:45:53.4409553Z > cd tools/protocol-doc && pnpm exec tsx cli.ts verify ../../docs/extracted-server
2026-05-10T11:45:53.4410157Z 
2026-05-10T11:45:54.1296348Z verify failed: protocol.json drift: re-run `pnpm protocol-doc:catalog` and commit
2026-05-10T11:45:54.1633296Z  ELIFECYCLE  Command failed with exit code 1.
2026-05-10T11:45:54.1840028Z 
2026-05-10T11:45:54.1841201Z verify-phase-3 FAILED at step 'Plan 02: protocol-doc verify': pnpm protocol-doc:verify (exit 1)
2026-05-10T11:45:54.1900840Z Fix the failing step and re-run `pnpm verify:phase-3`.
2026-05-10T11:45:54.2012251Z  ELIFECYCLE  Command failed with exit code 1.
2026-05-10T11:45:54.2202528Z 
2026-05-10T11:45:54.2204067Z verify-phase-4 FAILED at step 'Phase 3 carry-over: verify-phase-3': pnpm verify:phase-3 (exit 1)
2026-05-10T11:45:54.2205397Z Fix the failing step and re-run `pnpm verify:phase-4`.
2026-05-10T11:45:54.2355343Z  ELIFECYCLE  Command failed with exit code 1.
2026-05-10T11:45:54.2553350Z 
2026-05-10T11:45:54.2554475Z verify-phase-5 FAILED at step 'Phase 4 carry-over: verify-phase-4': pnpm verify:phase-4 (exit 1)
2026-05-10T11:45:54.2557777Z Fix the failing step and re-run `pnpm verify:phase-5`.
2026-05-10T11:45:54.2709326Z  ELIFECYCLE  Command failed with exit code 1.
2026-05-10T11:45:54.2921487Z ##[error]Process completed with exit code 1.
2026-05-10T11:45:54.3051984Z ##[group]Run actions/upload-artifact@v4
2026-05-10T11:45:54.3052284Z with:
2026-05-10T11:45:54.3052501Z   name: playwright-cli-08-25627852458
2026-05-10T11:45:54.3052861Z   path: apps/client/playwright-report
apps/client/test-results

2026-05-10T11:45:54.3053402Z   retention-days: 14
2026-05-10T11:45:54.3053629Z   if-no-files-found: warn
2026-05-10T11:45:54.3053866Z   compression-level: 6
2026-05-10T11:45:54.3054085Z   overwrite: false
2026-05-10T11:45:54.3054303Z   include-hidden-files: false
2026-05-10T11:45:54.3054536Z env:
2026-05-10T11:45:54.3054780Z   PNPM_HOME: /home/runner/setup-pnpm/node_modules/.bin
2026-05-10T11:45:54.3055088Z ##[endgroup]
2026-05-10T11:45:54.5561230Z Multiple search paths detected. Calculating the least common ancestor of all paths
2026-05-10T11:45:54.5564635Z The least common ancestor is /home/runner/work/rebno/rebno/apps/client. This will be the root directory of the artifact
2026-05-10T11:45:54.5580207Z ##[warning]No files were found with the provided path: apps/client/playwright-report
apps/client/test-results. No artifacts will be uploaded.
2026-05-10T11:45:54.5646000Z Post job cleanup.
2026-05-10T11:45:54.7104112Z Pruning is unnecessary.
2026-05-10T11:45:54.7253236Z Post job cleanup.
2026-05-10T11:45:54.8257881Z [command]/usr/bin/git version
2026-05-10T11:45:54.8301328Z git version 2.53.0
2026-05-10T11:45:54.8354704Z Temporarily overriding HOME='/home/runner/work/_temp/446256d9-4792-42a6-ab06-8a92636f4d74' before making global git config changes
2026-05-10T11:45:54.8359379Z Adding repository directory to the temporary git global config as a safe directory
2026-05-10T11:45:54.8367553Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/rebno/rebno
2026-05-10T11:45:54.8407113Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-05-10T11:45:54.8446611Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
2026-05-10T11:45:54.8760557Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-05-10T11:45:54.8809430Z http.https://github.com/.extraheader
2026-05-10T11:45:54.8840697Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
2026-05-10T11:45:54.8905115Z [command]/usr/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-05-10T11:45:54.9319492Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-05-10T11:45:54.9366780Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-05-10T11:45:54.9884574Z Cleaning up orphan processes
2026-05-10T11:45:55.0160712Z ##[warning]Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4, pnpm/action-setup@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
