﻿2026-05-10T11:40:58.2139347Z Current runner version: '2.334.0'
2026-05-10T11:40:58.2180527Z ##[group]Runner Image Provisioner
2026-05-10T11:40:58.2181895Z Hosted Compute Agent
2026-05-10T11:40:58.2183207Z Version: 20260213.493
2026-05-10T11:40:58.2184458Z Commit: 5c115507f6dd24b8de37d8bbe0bb4509d0cc0fa3
2026-05-10T11:40:58.2185860Z Build Date: 2026-02-13T00:28:41Z
2026-05-10T11:40:58.2187257Z Worker ID: {3bb037db-1512-4186-b7df-ae05556daf8d}
2026-05-10T11:40:58.2189022Z Azure Region: northcentralus
2026-05-10T11:40:58.2190234Z ##[endgroup]
2026-05-10T11:40:58.2192673Z ##[group]Operating System
2026-05-10T11:40:58.2193840Z Ubuntu
2026-05-10T11:40:58.2194727Z 24.04.4
2026-05-10T11:40:58.2195742Z LTS
2026-05-10T11:40:58.2196727Z ##[endgroup]
2026-05-10T11:40:58.2198199Z ##[group]Runner Image
2026-05-10T11:40:58.2199412Z Image: ubuntu-24.04
2026-05-10T11:40:58.2200490Z Version: 20260413.86.1
2026-05-10T11:40:58.2202790Z Included Software: https://github.com/actions/runner-images/blob/ubuntu24/20260413.86/images/ubuntu/Ubuntu2404-Readme.md
2026-05-10T11:40:58.2204542Z Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu24%2F20260413.86
2026-05-10T11:40:58.2205556Z ##[endgroup]
2026-05-10T11:40:58.2206713Z ##[group]GITHUB_TOKEN Permissions
2026-05-10T11:40:58.2209761Z Contents: read
2026-05-10T11:40:58.2210448Z Metadata: read
2026-05-10T11:40:58.2211101Z ##[endgroup]
2026-05-10T11:40:58.2213476Z Secret source: Actions
2026-05-10T11:40:58.2214321Z Prepare workflow directory
2026-05-10T11:40:58.2674632Z Prepare all required actions
2026-05-10T11:40:58.2733491Z Getting action download info
2026-05-10T11:40:58.6514908Z Download action repository 'actions/checkout@v4' (SHA:34e114876b0b11c390a56381ad16ebd13914f8d5)
2026-05-10T11:40:58.7995743Z Download action repository 'pnpm/action-setup@v4' (SHA:b906affcce14559ad1aafd4ab0e942779e9f58b1)
2026-05-10T11:40:59.2993452Z Download action repository 'actions/setup-node@v4' (SHA:49933ea5288caeca8642d1e84afbd3f7d6820020)
2026-05-10T11:40:59.3966488Z Download action repository 'superfly/flyctl-actions@fc53c09e1bc3be6f54706524e3b82c4f462f77be' (SHA:fc53c09e1bc3be6f54706524e3b82c4f462f77be)
2026-05-10T11:40:59.5640104Z Download action repository 'actions/upload-artifact@v4' (SHA:ea165f8d65b6e75b540449e92b4886f43607fa02)
2026-05-10T11:40:59.7989993Z Complete job name: build-and-deploy
2026-05-10T11:40:59.8865488Z ##[group]Run actions/checkout@v4
2026-05-10T11:40:59.8866477Z with:
2026-05-10T11:40:59.8866989Z   repository: SaberMage/rebno
2026-05-10T11:40:59.8868053Z   token: ***
2026-05-10T11:40:59.8868564Z   ssh-strict: true
2026-05-10T11:40:59.8869052Z   ssh-user: git
2026-05-10T11:40:59.8869541Z   persist-credentials: true
2026-05-10T11:40:59.8870087Z   clean: true
2026-05-10T11:40:59.8870592Z   sparse-checkout-cone-mode: true
2026-05-10T11:40:59.8871176Z   fetch-depth: 1
2026-05-10T11:40:59.8871670Z   fetch-tags: false
2026-05-10T11:40:59.8872163Z   show-progress: true
2026-05-10T11:40:59.8872666Z   lfs: false
2026-05-10T11:40:59.8873121Z   submodules: false
2026-05-10T11:40:59.8873625Z   set-safe-directory: true
2026-05-10T11:40:59.8874482Z ##[endgroup]
2026-05-10T11:41:00.0205272Z Syncing repository: SaberMage/rebno
2026-05-10T11:41:00.0209112Z ##[group]Getting Git version info
2026-05-10T11:41:00.0210482Z Working directory is '/home/runner/work/rebno/rebno'
2026-05-10T11:41:00.0315696Z [command]/usr/bin/git version
2026-05-10T11:41:00.0326268Z git version 2.53.0
2026-05-10T11:41:00.0333406Z ##[endgroup]
2026-05-10T11:41:00.0343506Z Temporarily overriding HOME='/home/runner/work/_temp/9e975790-52af-4192-b0d4-845dc5197edd' before making global git config changes
2026-05-10T11:41:00.0346558Z Adding repository directory to the temporary git global config as a safe directory
2026-05-10T11:41:00.0349834Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/rebno/rebno
2026-05-10T11:41:00.0364195Z Deleting the contents of '/home/runner/work/rebno/rebno'
2026-05-10T11:41:00.0369827Z ##[group]Initializing the repository
2026-05-10T11:41:00.0376527Z [command]/usr/bin/git init /home/runner/work/rebno/rebno
2026-05-10T11:41:00.0466161Z hint: Using 'master' as the name for the initial branch. This default branch name
2026-05-10T11:41:00.0469254Z hint: will change to "main" in Git 3.0. To configure the initial branch name
2026-05-10T11:41:00.0472158Z hint: to use in all of your new repositories, which will suppress this warning,
2026-05-10T11:41:00.0474085Z hint: call:
2026-05-10T11:41:00.0475763Z hint:
2026-05-10T11:41:00.0476910Z hint: 	git config --global init.defaultBranch <name>
2026-05-10T11:41:00.0478402Z hint:
2026-05-10T11:41:00.0479558Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
2026-05-10T11:41:00.0481350Z hint: 'development'. The just-created branch can be renamed via this command:
2026-05-10T11:41:00.0482767Z hint:
2026-05-10T11:41:00.0483542Z hint: 	git branch -m <name>
2026-05-10T11:41:00.0484375Z hint:
2026-05-10T11:41:00.0485482Z hint: Disable this message with "git config set advice.defaultBranchName false"
2026-05-10T11:41:00.0488063Z Initialized empty Git repository in /home/runner/work/rebno/rebno/.git/
2026-05-10T11:41:00.0492945Z [command]/usr/bin/git remote add origin https://github.com/SaberMage/rebno
2026-05-10T11:41:00.0522948Z ##[endgroup]
2026-05-10T11:41:00.0527224Z ##[group]Disabling automatic garbage collection
2026-05-10T11:41:00.0528863Z [command]/usr/bin/git config --local gc.auto 0
2026-05-10T11:41:00.0564144Z ##[endgroup]
2026-05-10T11:41:00.0566355Z ##[group]Setting up auth
2026-05-10T11:41:00.0572570Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-05-10T11:41:00.0609884Z [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:41:00.0928923Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-05-10T11:41:00.0965603Z [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:41:00.1212569Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-05-10T11:41:00.1265347Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-05-10T11:41:00.1511266Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic ***
2026-05-10T11:41:00.1559454Z ##[endgroup]
2026-05-10T11:41:00.1560827Z ##[group]Fetching the repository
2026-05-10T11:41:00.1567327Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +89b22f8dcef9cebf72c3690f094b8dc63786fa5c:refs/remotes/origin/main
2026-05-10T11:41:01.3083283Z From https://github.com/SaberMage/rebno
2026-05-10T11:41:01.3086680Z  * [new ref]         89b22f8dcef9cebf72c3690f094b8dc63786fa5c -> origin/main
2026-05-10T11:41:01.3121076Z ##[endgroup]
2026-05-10T11:41:01.3123734Z ##[group]Determining the checkout info
2026-05-10T11:41:01.3126813Z ##[endgroup]
2026-05-10T11:41:01.3129963Z [command]/usr/bin/git sparse-checkout disable
2026-05-10T11:41:01.3177696Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
2026-05-10T11:41:01.3215562Z ##[group]Checking out the ref
2026-05-10T11:41:01.3220546Z [command]/usr/bin/git checkout --progress --force -B main refs/remotes/origin/main
2026-05-10T11:41:02.0885643Z Switched to a new branch 'main'
2026-05-10T11:41:02.0889850Z branch 'main' set up to track 'origin/main'.
2026-05-10T11:41:02.0914105Z ##[endgroup]
2026-05-10T11:41:02.0963687Z [command]/usr/bin/git log -1 --format=%H
2026-05-10T11:41:02.0996337Z 89b22f8dcef9cebf72c3690f094b8dc63786fa5c
2026-05-10T11:41:02.1239187Z ##[group]Run pnpm/action-setup@v4
2026-05-10T11:41:02.1239536Z with:
2026-05-10T11:41:02.1239740Z   version: 10
2026-05-10T11:41:02.1239952Z   dest: ~/setup-pnpm
2026-05-10T11:41:02.1240456Z   run_install: null
2026-05-10T11:41:02.1240669Z   cache: false
2026-05-10T11:41:02.1240897Z   cache_dependency_path: pnpm-lock.yaml
2026-05-10T11:41:02.1241207Z   package_json_file: package.json
2026-05-10T11:41:02.1241464Z   standalone: false
2026-05-10T11:41:02.1241681Z ##[endgroup]
2026-05-10T11:41:02.2829519Z ##[group]Running self-installer...
2026-05-10T11:41:02.9958341Z Progress: resolved 1, reused 0, downloaded 0, added 0
2026-05-10T11:41:03.0119029Z Packages: +1
2026-05-10T11:41:03.0138862Z +
2026-05-10T11:41:03.4811213Z Progress: resolved 1, reused 0, downloaded 1, added 1, done
2026-05-10T11:41:03.5220198Z 
2026-05-10T11:41:03.5224142Z dependencies:
2026-05-10T11:41:03.5225528Z + pnpm 10.33.4 (11.0.9 is available)
2026-05-10T11:41:03.5229887Z 
2026-05-10T11:41:03.5266911Z Done in 1s
2026-05-10T11:41:03.5419883Z ##[endgroup]
2026-05-10T11:41:03.5424077Z Installation Completed!
2026-05-10T11:41:03.5597162Z ##[group]Run actions/setup-node@v4
2026-05-10T11:41:03.5597486Z with:
2026-05-10T11:41:03.5597943Z   node-version: 22
2026-05-10T11:41:03.5598179Z   cache: pnpm
2026-05-10T11:41:03.5598386Z   always-auth: false
2026-05-10T11:41:03.5598648Z   check-latest: false
2026-05-10T11:41:03.5599018Z   token: ***
2026-05-10T11:41:03.5599222Z env:
2026-05-10T11:41:03.5599483Z   PNPM_HOME: /home/runner/setup-pnpm/node_modules/.bin
2026-05-10T11:41:03.5599806Z ##[endgroup]
2026-05-10T11:41:03.7566506Z Found in cache @ /opt/hostedtoolcache/node/22.22.2/x64
2026-05-10T11:41:03.7568120Z ##[group]Environment details
2026-05-10T11:41:04.1966417Z node: v22.22.2
2026-05-10T11:41:04.1967447Z npm: 10.9.7
2026-05-10T11:41:04.1968705Z yarn: 1.22.22
2026-05-10T11:41:04.1970074Z ##[endgroup]
2026-05-10T11:41:04.2002591Z [command]/home/runner/setup-pnpm/node_modules/.bin/pnpm store path --silent
2026-05-10T11:41:04.6516134Z /home/runner/setup-pnpm/node_modules/.bin/store/v10
2026-05-10T11:41:04.7946960Z pnpm cache is not found
2026-05-10T11:41:04.8082433Z ##[group]Run pnpm install --frozen-lockfile
2026-05-10T11:41:04.8082883Z [36;1mpnpm install --frozen-lockfile[0m
2026-05-10T11:41:04.8115019Z shell: /usr/bin/bash -e {0}
2026-05-10T11:41:04.8115291Z env:
2026-05-10T11:41:04.8115563Z   PNPM_HOME: /home/runner/setup-pnpm/node_modules/.bin
2026-05-10T11:41:04.8115895Z ##[endgroup]
2026-05-10T11:41:05.1744101Z Scope: all 6 workspace projects
2026-05-10T11:41:05.3492237Z Lockfile is up to date, resolution step is skipped
2026-05-10T11:41:05.4720456Z Progress: resolved 1, reused 0, downloaded 0, added 0
2026-05-10T11:41:05.5797402Z Packages: +665
2026-05-10T11:41:05.5799786Z ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2026-05-10T11:41:06.4570689Z Progress: resolved 665, reused 0, downloaded 62, added 22
2026-05-10T11:41:07.4585167Z Progress: resolved 665, reused 0, downloaded 141, added 55
2026-05-10T11:41:08.4584607Z Progress: resolved 665, reused 0, downloaded 197, added 73
2026-05-10T11:41:09.4633089Z Progress: resolved 665, reused 0, downloaded 359, added 139
2026-05-10T11:41:10.4640443Z Progress: resolved 665, reused 0, downloaded 397, added 152
2026-05-10T11:41:11.4640833Z Progress: resolved 665, reused 0, downloaded 466, added 182
2026-05-10T11:41:12.4690169Z Progress: resolved 665, reused 0, downloaded 572, added 220
2026-05-10T11:41:13.4699108Z Progress: resolved 665, reused 0, downloaded 618, added 236
2026-05-10T11:41:14.3451275Z Packages are hard linked from the content-addressable store to the virtual store.
2026-05-10T11:41:14.3459008Z   Content-addressable store is at: /home/runner/setup-pnpm/node_modules/.bin/store/v10
2026-05-10T11:41:14.3493632Z   Virtual store is at:             node_modules/.pnpm
2026-05-10T11:41:14.4699327Z Progress: resolved 665, reused 0, downloaded 634, added 240
2026-05-10T11:41:15.4499365Z Progress: resolved 665, reused 0, downloaded 661, added 665, done
2026-05-10T11:41:15.9404345Z .../node_modules/better-sqlite3 install$ prebuild-install || node-gyp rebuild --release
2026-05-10T11:41:15.9425809Z .../esbuild@0.25.12/node_modules/esbuild postinstall$ node install.js
2026-05-10T11:41:15.9447234Z .../esbuild@0.18.20/node_modules/esbuild postinstall$ node install.js
2026-05-10T11:41:15.9474950Z .../esbuild@0.27.7/node_modules/esbuild postinstall$ node install.js
2026-05-10T11:41:16.0669741Z .../argon2@0.44.0/node_modules/argon2 install$ cross-env ZERO_AR_DATE=1 node-gyp-build
2026-05-10T11:41:16.0719154Z .../esbuild@0.25.12/node_modules/esbuild postinstall: Done
2026-05-10T11:41:16.1589405Z .../esbuild@0.27.7/node_modules/esbuild postinstall: Done
2026-05-10T11:41:16.2698788Z .../esbuild@0.18.20/node_modules/esbuild postinstall: Done
2026-05-10T11:41:16.4459354Z .../argon2@0.44.0/node_modules/argon2 install: Done
2026-05-10T11:41:16.6039373Z .../node_modules/better-sqlite3 install: Done
2026-05-10T11:41:16.9837063Z 
2026-05-10T11:41:16.9838361Z devDependencies:
2026-05-10T11:41:16.9839271Z + @better-auth/cli 1.4.21
2026-05-10T11:41:16.9839909Z 
2026-05-10T11:41:17.0429994Z ╭ Warning ─────────────────────────────────────────────────────────────────────╮
2026-05-10T11:41:17.0431474Z │                                                                              │
2026-05-10T11:41:17.0449188Z │   Ignored build scripts: @prisma/client@5.22.0, msgpackr-extract@3.0.3,      │
2026-05-10T11:41:17.0469857Z │   protobufjs@7.5.6, protobufjs@8.0.1.                                        │
2026-05-10T11:41:17.0471430Z │   Run "pnpm approve-builds" to pick which dependencies should be allowed     │
2026-05-10T11:41:17.0473060Z │   to run scripts.                                                            │
2026-05-10T11:41:17.0474616Z │                                                                              │
2026-05-10T11:41:17.0476075Z ╰──────────────────────────────────────────────────────────────────────────────╯
2026-05-10T11:41:17.0706502Z Done in 12.2s using pnpm v10.33.4
2026-05-10T11:41:17.1242947Z ##[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:41:17.1244085Z [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:41:17.1244756Z [36;1m  if [ -f "$d/package.json" ]; then[0m
2026-05-10T11:41:17.1245070Z [36;1m    echo "::group::pnpm install in $d"[0m
2026-05-10T11:41:17.1245457Z [36;1m    pnpm -C "$d" install --ignore-workspace --no-frozen-lockfile[0m
2026-05-10T11:41:17.1245833Z [36;1m    echo "::endgroup::"[0m
2026-05-10T11:41:17.1246078Z [36;1m  fi[0m
2026-05-10T11:41:17.1246268Z [36;1mdone[0m
2026-05-10T11:41:17.1268194Z shell: /usr/bin/bash -e {0}
2026-05-10T11:41:17.1268462Z env:
2026-05-10T11:41:17.1268724Z   PNPM_HOME: /home/runner/setup-pnpm/node_modules/.bin
2026-05-10T11:41:17.1269044Z ##[endgroup]
2026-05-10T11:41:17.1315976Z ##[group]pnpm install in tools/asset-catalog
2026-05-10T11:41:17.4928643Z Lockfile is up to date, resolution step is skipped
2026-05-10T11:41:17.5269590Z Progress: resolved 1, reused 0, downloaded 0, added 0
2026-05-10T11:41:17.5465208Z Packages: +52
2026-05-10T11:41:17.5479298Z ++++++++++++++++++++++++++++++++++++++++++++++++++++
2026-05-10T11:41:18.0599516Z Progress: resolved 52, reused 46, downloaded 6, added 52, done
2026-05-10T11:41:18.1396010Z 
2026-05-10T11:41:18.1399097Z devDependencies:
2026-05-10T11:41:18.1402231Z + @types/node 25.6.0
2026-05-10T11:41:18.1402934Z + tsx 4.21.0
2026-05-10T11:41:18.1403735Z + typescript 5.6.3
2026-05-10T11:41:18.1404263Z + vitest 4.1.5
2026-05-10T11:41:18.1404631Z 
2026-05-10T11:41:18.1487025Z ╭ Warning ─────────────────────────────────────────────────────────────────────╮
2026-05-10T11:41:18.1492174Z │                                                                              │
2026-05-10T11:41:18.1494873Z │   Ignored build scripts: esbuild@0.27.7.                                     │
2026-05-10T11:41:18.1498741Z │   Run "pnpm approve-builds" to pick which dependencies should be allowed     │
2026-05-10T11:41:18.1500546Z │   to run scripts.                                                            │
2026-05-10T11:41:18.1501935Z │                                                                              │
2026-05-10T11:41:18.1503001Z ╰──────────────────────────────────────────────────────────────────────────────╯
2026-05-10T11:41:18.1541889Z Done in 998ms using pnpm v10.33.4
2026-05-10T11:41:18.2591491Z ##[endgroup]
2026-05-10T11:41:18.2592689Z ##[group]pnpm install in tools/asset-pipeline
2026-05-10T11:41:18.6067351Z Lockfile is up to date, resolution step is skipped
2026-05-10T11:41:18.6465463Z Progress: resolved 1, reused 0, downloaded 0, added 0
2026-05-10T11:41:18.6677025Z Packages: +64
2026-05-10T11:41:18.6698820Z ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2026-05-10T11:41:19.1029459Z Progress: resolved 64, reused 57, downloaded 7, added 64, done
2026-05-10T11:41:19.1948613Z 
2026-05-10T11:41:19.1949269Z dependencies:
2026-05-10T11:41:19.1961513Z + maxrects-packer 2.7.3
2026-05-10T11:41:19.1962089Z + sharp 0.34.5
2026-05-10T11:41:19.1962474Z 
2026-05-10T11:41:19.1968286Z devDependencies:
2026-05-10T11:41:19.1984276Z + @types/node 25.6.0
2026-05-10T11:41:19.1984762Z + tsx 4.21.0
2026-05-10T11:41:19.1985442Z + typescript 5.6.3
2026-05-10T11:41:19.1985856Z + vitest 3.2.4
2026-05-10T11:41:19.1986079Z 
2026-05-10T11:41:19.2043697Z ╭ Warning ─────────────────────────────────────────────────────────────────────╮
2026-05-10T11:41:19.2045189Z │                                                                              │
2026-05-10T11:41:19.2047210Z │   Ignored build scripts: esbuild@0.27.7, sharp@0.34.5.                       │
2026-05-10T11:41:19.2048621Z │   Run "pnpm approve-builds" to pick which dependencies should be allowed     │
2026-05-10T11:41:19.2052154Z │   to run scripts.                                                            │
2026-05-10T11:41:19.2054263Z │                                                                              │
2026-05-10T11:41:19.2056993Z ╰──────────────────────────────────────────────────────────────────────────────╯
2026-05-10T11:41:19.2096366Z Done in 923ms using pnpm v10.33.4
2026-05-10T11:41:19.3220937Z ##[endgroup]
2026-05-10T11:41:19.3221653Z ##[group]pnpm install in tools/extract-gmd
2026-05-10T11:41:19.7825711Z Progress: resolved 1, reused 0, downloaded 0, added 0
2026-05-10T11:41:20.7783963Z Progress: resolved 96, reused 47, downloaded 1, added 0
2026-05-10T11:41:21.5163382Z Packages: +57
2026-05-10T11:41:21.5164301Z +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2026-05-10T11:41:21.6373545Z Progress: resolved 135, reused 58, downloaded 5, added 57, done
2026-05-10T11:41:21.9988528Z 
2026-05-10T11:41:21.9994391Z dependencies:
2026-05-10T11:41:22.0008871Z + sharp 0.34.5
2026-05-10T11:41:22.0009315Z 
2026-05-10T11:41:22.0009595Z devDependencies:
2026-05-10T11:41:22.0010344Z + @types/node 25.6.0 (25.6.2 is available)
2026-05-10T11:41:22.0011079Z + tsx 4.21.0
2026-05-10T11:41:22.0011706Z + typescript 5.6.3 (6.0.3 is available)
2026-05-10T11:41:22.0012339Z + vitest 4.1.5
2026-05-10T11:41:22.0012759Z 
2026-05-10T11:41:22.0020203Z ╭ Warning ─────────────────────────────────────────────────────────────────────╮
2026-05-10T11:41:22.0021441Z │                                                                              │
2026-05-10T11:41:22.0022728Z │   Ignored build scripts: esbuild@0.27.7, sharp@0.34.5.                       │
2026-05-10T11:41:22.0024091Z │   Run "pnpm approve-builds" to pick which dependencies should be allowed     │
2026-05-10T11:41:22.0025445Z │   to run scripts.                                                            │
2026-05-10T11:41:22.0026530Z │                                                                              │
2026-05-10T11:41:22.0029280Z ╰──────────────────────────────────────────────────────────────────────────────╯
2026-05-10T11:41:22.0073689Z Done in 2.6s using pnpm v10.33.4
2026-05-10T11:41:22.0323505Z ##[endgroup]
2026-05-10T11:41:22.0324984Z ##[group]pnpm install in tools/protocol-doc
2026-05-10T11:41:22.3849340Z Lockfile is up to date, resolution step is skipped
2026-05-10T11:41:22.4239070Z Progress: resolved 1, reused 0, downloaded 0, added 0
2026-05-10T11:41:22.4424085Z Packages: +52
2026-05-10T11:41:22.4431664Z ++++++++++++++++++++++++++++++++++++++++++++++++++++
2026-05-10T11:41:22.6009548Z Progress: resolved 52, reused 52, downloaded 0, added 52, done
2026-05-10T11:41:22.6811882Z 
2026-05-10T11:41:22.6824654Z devDependencies:
2026-05-10T11:41:22.6830177Z + @types/node 25.6.0
2026-05-10T11:41:22.6848603Z + tsx 4.21.0
2026-05-10T11:41:22.6854316Z + typescript 5.6.3
2026-05-10T11:41:22.6861626Z + vitest 4.1.5
2026-05-10T11:41:22.6861816Z 
2026-05-10T11:41:22.6923546Z ╭ Warning ─────────────────────────────────────────────────────────────────────╮
2026-05-10T11:41:22.6929205Z │                                                                              │
2026-05-10T11:41:22.6932479Z │   Ignored build scripts: esbuild@0.27.7.                                     │
2026-05-10T11:41:22.6934226Z │   Run "pnpm approve-builds" to pick which dependencies should be allowed     │
2026-05-10T11:41:22.6935972Z │   to run scripts.                                                            │
2026-05-10T11:41:22.6937344Z │                                                                              │
2026-05-10T11:41:22.6938987Z ╰──────────────────────────────────────────────────────────────────────────────╯
2026-05-10T11:41:22.6992859Z Done in 630ms using pnpm v10.33.4
2026-05-10T11:41:22.7102682Z ##[endgroup]
2026-05-10T11:41:22.7104268Z ##[group]pnpm install in tools/room-converter
2026-05-10T11:41:23.0679352Z Progress: resolved 1, reused 0, downloaded 0, added 0
2026-05-10T11:41:23.4023262Z Packages: +9
2026-05-10T11:41:23.4024112Z +++++++++
2026-05-10T11:41:23.4509388Z Progress: resolved 35, reused 9, downloaded 0, added 9, done
2026-05-10T11:41:23.5190791Z 
2026-05-10T11:41:23.5219138Z devDependencies:
2026-05-10T11:41:23.5229091Z + @types/node 25.6.0 (25.6.2 is available)
2026-05-10T11:41:23.5232171Z + tsx 4.21.0
2026-05-10T11:41:23.5234909Z + typescript 5.6.3 (6.0.3 is available)
2026-05-10T11:41:23.5244589Z + zod 3.25.76 (4.4.3 is available)
2026-05-10T11:41:23.5247592Z 
2026-05-10T11:41:23.5249111Z ╭ Warning ─────────────────────────────────────────────────────────────────────╮
2026-05-10T11:41:23.5250129Z │                                                                              │
2026-05-10T11:41:23.5251238Z │   Ignored build scripts: esbuild@0.27.7.                                     │
2026-05-10T11:41:23.5252313Z │   Run "pnpm approve-builds" to pick which dependencies should be allowed     │
2026-05-10T11:41:23.5253303Z │   to run scripts.                                                            │
2026-05-10T11:41:23.5254224Z │                                                                              │
2026-05-10T11:41:23.5255326Z ╰──────────────────────────────────────────────────────────────────────────────╯
2026-05-10T11:41:23.5289415Z Done in 790ms using pnpm v10.33.4
2026-05-10T11:41:23.5449326Z ##[endgroup]
2026-05-10T11:41:23.5450459Z ##[group]pnpm install in tools/save-format-doc
2026-05-10T11:41:23.8885959Z Lockfile is up to date, resolution step is skipped
2026-05-10T11:41:23.9239440Z Progress: resolved 1, reused 0, downloaded 0, added 0
2026-05-10T11:41:23.9419445Z Packages: +52
2026-05-10T11:41:23.9423288Z ++++++++++++++++++++++++++++++++++++++++++++++++++++
2026-05-10T11:41:24.0993521Z Progress: resolved 52, reused 52, downloaded 0, added 52, done
2026-05-10T11:41:24.1802452Z 
2026-05-10T11:41:24.1806376Z devDependencies:
2026-05-10T11:41:24.1828718Z + @types/node 25.6.0
2026-05-10T11:41:24.1829662Z + tsx 4.21.0
2026-05-10T11:41:24.1831424Z + typescript 5.6.3
2026-05-10T11:41:24.1837697Z + vitest 4.1.5
2026-05-10T11:41:24.1838867Z 
2026-05-10T11:41:24.1894815Z ╭ Warning ─────────────────────────────────────────────────────────────────────╮
2026-05-10T11:41:24.1900507Z │                                                                              │
2026-05-10T11:41:24.1903225Z │   Ignored build scripts: esbuild@0.27.7.                                     │
2026-05-10T11:41:24.1906517Z │   Run "pnpm approve-builds" to pick which dependencies should be allowed     │
2026-05-10T11:41:24.1908850Z │   to run scripts.                                                            │
2026-05-10T11:41:24.1909886Z │                                                                              │
2026-05-10T11:41:24.1910948Z ╰──────────────────────────────────────────────────────────────────────────────╯
2026-05-10T11:41:24.1968868Z Done in 622ms using pnpm v10.33.4
2026-05-10T11:41:24.2065018Z ##[endgroup]
2026-05-10T11:41:24.2112010Z ##[group]Run pnpm -r --filter "@rebno/*" build
2026-05-10T11:41:24.2112725Z [36;1mpnpm -r --filter "@rebno/*" build[0m
2026-05-10T11:41:24.2144769Z shell: /usr/bin/bash -e {0}
2026-05-10T11:41:24.2145231Z env:
2026-05-10T11:41:24.2145686Z   PNPM_HOME: /home/runner/setup-pnpm/node_modules/.bin
2026-05-10T11:41:24.2146239Z ##[endgroup]
2026-05-10T11:41:24.5631920Z Scope: 5 of 6 workspace projects
2026-05-10T11:41:24.5663112Z packages/db build$ tsc
2026-05-10T11:41:24.5673823Z packages/game-logic build$ tsc
2026-05-10T11:41:27.5859033Z packages/game-logic build: Done
2026-05-10T11:41:27.5959265Z packages/protocol prebuild$ node scripts/sync-from-tools-protocol-doc.mjs
2026-05-10T11:41:27.6667460Z packages/protocol prebuild: synced legacy-opcodes from /home/runner/work/rebno/rebno/tools/protocol-doc/output/protocol.ts
2026-05-10T11:41:27.6809139Z packages/protocol prebuild: Done
2026-05-10T11:41:27.6840384Z packages/protocol build$ tsc
2026-05-10T11:41:29.8379566Z packages/db build: Done
2026-05-10T11:41:31.4183981Z packages/protocol build: Done
2026-05-10T11:41:31.4191618Z apps/server build$ tsc -b
2026-05-10T11:41:38.9650681Z apps/server build: Done
2026-05-10T11:41:38.9809004Z ##[group]Run pnpm verify:phase-4
2026-05-10T11:41:38.9809392Z [36;1mpnpm verify:phase-4[0m
2026-05-10T11:41:38.9831246Z shell: /usr/bin/bash -e {0}
2026-05-10T11:41:38.9831500Z env:
2026-05-10T11:41:38.9831760Z   PNPM_HOME: /home/runner/setup-pnpm/node_modules/.bin
2026-05-10T11:41:38.9832282Z   SKIP_PHASE_3_CARRYOVER: 1
2026-05-10T11:41:38.9832532Z ##[endgroup]
2026-05-10T11:41:39.3078503Z 
2026-05-10T11:41:39.3079524Z > rebno@0.0.0 verify:phase-4 /home/runner/work/rebno/rebno
2026-05-10T11:41:39.3080718Z > node scripts/verify-phase-4.mjs
2026-05-10T11:41:39.3081295Z 
2026-05-10T11:41:39.3402141Z 
2026-05-10T11:41:39.3403347Z === Workspace: typecheck ===
2026-05-10T11:41:39.3403920Z >>> pnpm -r typecheck
2026-05-10T11:41:39.6835461Z Scope: 5 of 6 workspace projects
2026-05-10T11:41:39.6909353Z packages/db typecheck$ tsc --noEmit
2026-05-10T11:41:39.6910934Z packages/game-logic typecheck$ tsc --noEmit
2026-05-10T11:41:42.3558769Z packages/game-logic typecheck: Done
2026-05-10T11:41:42.3579432Z packages/protocol typecheck$ tsc --noEmit
2026-05-10T11:41:45.0417449Z packages/db typecheck: Done
2026-05-10T11:41:46.2816433Z packages/protocol typecheck: Done
2026-05-10T11:41:46.2824414Z apps/client typecheck$ tsc --noEmit
2026-05-10T11:41:46.2827583Z apps/server typecheck$ tsc --noEmit
2026-05-10T11:41:58.2264485Z apps/client typecheck: Done
2026-05-10T11:41:59.3772882Z apps/server typecheck: Done
2026-05-10T11:41:59.3884712Z 
2026-05-10T11:41:59.3885492Z === Lint: protocol-sync ===
2026-05-10T11:41:59.3886487Z >>> pnpm lint:protocol-sync
2026-05-10T11:41:59.7173526Z 
2026-05-10T11:41:59.7174619Z > rebno@0.0.0 lint:protocol-sync /home/runner/work/rebno/rebno
2026-05-10T11:41:59.7175917Z > node tools/scripts/lint-protocol-sync.mjs
2026-05-10T11:41:59.7176606Z 
2026-05-10T11:41:59.7492856Z lint-protocol-sync: OK
2026-05-10T11:41:59.7627373Z 
2026-05-10T11:41:59.7628510Z === Lint: game-logic-purity ===
2026-05-10T11:41:59.7629497Z >>> pnpm lint:game-logic-purity
2026-05-10T11:42:00.0907568Z 
2026-05-10T11:42:00.0909154Z > rebno@0.0.0 lint:game-logic-purity /home/runner/work/rebno/rebno
2026-05-10T11:42:00.0912345Z > node tools/scripts/lint-game-logic-purity.mjs
2026-05-10T11:42:00.0912793Z 
2026-05-10T11:42:00.1252632Z lint-game-logic-purity: OK (6 file(s) clean)
2026-05-10T11:42:00.1401653Z 
2026-05-10T11:42:00.1402699Z === Lint: better-auth-schema-sync ===
2026-05-10T11:42:00.1404182Z >>> pnpm lint:better-auth-schema-sync
2026-05-10T11:42:00.4683099Z 
2026-05-10T11:42:00.4684355Z > rebno@0.0.0 lint:better-auth-schema-sync /home/runner/work/rebno/rebno
2026-05-10T11:42:00.4686116Z > node tools/scripts/lint-better-auth-schema-sync.mjs
2026-05-10T11:42:00.4686942Z 
2026-05-10T11:42:02.2361930Z lint-better-auth-schema-sync: OK
2026-05-10T11:42:02.2502084Z 
2026-05-10T11:42:02.2502878Z === Lint: rate-limit-budgets ===
2026-05-10T11:42:02.2503802Z >>> pnpm lint:rate-limit-budgets
2026-05-10T11:42:02.5755376Z 
2026-05-10T11:42:02.5756478Z > rebno@0.0.0 lint:rate-limit-budgets /home/runner/work/rebno/rebno
2026-05-10T11:42:02.5757645Z > node tools/scripts/lint-rate-limit-budgets.mjs
2026-05-10T11:42:02.5758561Z 
2026-05-10T11:42:02.6081323Z lint-rate-limit-budgets: OK (5 D-22 budgets locked)
2026-05-10T11:42:02.6218620Z 
2026-05-10T11:42:02.6219624Z === Lint: no-clipboard-rce ===
2026-05-10T11:42:02.6220563Z >>> pnpm lint:no-clipboard-rce
2026-05-10T11:42:02.9488749Z 
2026-05-10T11:42:02.9489779Z > rebno@0.0.0 lint:no-clipboard-rce /home/runner/work/rebno/rebno
2026-05-10T11:42:02.9490981Z > node tools/scripts/lint-no-clipboard-rce.mjs
2026-05-10T11:42:02.9491655Z 
2026-05-10T11:42:02.9868783Z lint-no-clipboard-rce: OK (21 file(s) clean)
2026-05-10T11:42:03.0009696Z 
2026-05-10T11:42:03.0010696Z === Lint: room-layout ===
2026-05-10T11:42:03.0011767Z >>> pnpm lint:room-layout
2026-05-10T11:42:03.3267410Z 
2026-05-10T11:42:03.3268620Z > rebno@0.0.0 lint:room-layout /home/runner/work/rebno/rebno
2026-05-10T11:42:03.3269930Z > node tools/scripts/lint-room-layout.mjs
2026-05-10T11:42:03.3270541Z 
2026-05-10T11:42:03.3632168Z lint-room-layout: OK
2026-05-10T11:42:03.3778609Z 
2026-05-10T11:42:03.3779454Z === ADR 0004 lint ===
2026-05-10T11:42:03.3780278Z >>> pnpm lint:adr:0004
2026-05-10T11:42:03.7274786Z 
2026-05-10T11:42:03.7275868Z > rebno@0.0.0 lint:adr:0004 /home/runner/work/rebno/rebno
2026-05-10T11:42:03.7278575Z > node tools/asset-catalog/scripts/lint-adr.mjs docs/adr/0004-room-hot-reload.md --no-matrix
2026-05-10T11:42:03.7279731Z 
2026-05-10T11:42:03.7604645Z OK: ADR docs/adr/0004-room-hot-reload.md validated (no-matrix mode — Michael Nygard sections present)
2026-05-10T11:42:03.7731172Z 
2026-05-10T11:42:03.7731976Z === Drizzle: emit-check ===
2026-05-10T11:42:03.7732873Z >>> pnpm db:emit-check
2026-05-10T11:42:04.0997416Z 
2026-05-10T11:42:04.0998748Z > rebno@0.0.0 db:emit-check /home/runner/work/rebno/rebno
2026-05-10T11:42:04.1006932Z > 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:42:04.1009584Z 
2026-05-10T11:42:04.6078813Z No config path provided, using default 'drizzle.config.ts'
2026-05-10T11:42:04.6081441Z Reading config file '/home/runner/work/rebno/rebno/packages/db/drizzle.config.ts'
2026-05-10T11:42:05.0568340Z 8 tables
2026-05-10T11:42:05.0569364Z accounts 8 columns 1 indexes 0 fks
2026-05-10T11:42:05.0570330Z audit_log 6 columns 0 indexes 2 fks
2026-05-10T11:42:05.0571196Z characters 9 columns 0 indexes 1 fks
2026-05-10T11:42:05.0572136Z inventory_items 4 columns 0 indexes 1 fks
2026-05-10T11:42:05.0573168Z legacy_credentials_staging 6 columns 0 indexes 0 fks
2026-05-10T11:42:05.0574162Z message_board_replies 5 columns 0 indexes 2 fks
2026-05-10T11:42:05.0575072Z message_board_topics 7 columns 0 indexes 1 fks
2026-05-10T11:42:05.0575985Z sessions 5 columns 0 indexes 1 fks
2026-05-10T11:42:05.0576568Z 
2026-05-10T11:42:05.0577487Z No schema changes, nothing to migrate 😴
2026-05-10T11:42:05.2484192Z 
2026-05-10T11:42:05.2485022Z === Drizzle: schema-sync ===
2026-05-10T11:42:05.2485854Z >>> pnpm lint:schema-sync
2026-05-10T11:42:05.5791744Z 
2026-05-10T11:42:05.5792347Z > rebno@0.0.0 lint:schema-sync /home/runner/work/rebno/rebno
2026-05-10T11:42:05.5794213Z > 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:42:05.5795484Z 
2026-05-10T11:42:05.6078697Z OK
2026-05-10T11:42:05.6220572Z 
2026-05-10T11:42:05.6221501Z === Drizzle: source-comments ===
2026-05-10T11:42:05.6222471Z >>> pnpm lint:source-comments
2026-05-10T11:42:05.9526651Z 
2026-05-10T11:42:05.9527698Z > rebno@0.0.0 lint:source-comments /home/runner/work/rebno/rebno
2026-05-10T11:42:05.9529417Z > pnpm -C packages/db run lint:source-comments
2026-05-10T11:42:05.9530251Z 
2026-05-10T11:42:06.2898176Z 
2026-05-10T11:42:06.2899677Z > @rebno/db@0.1.0 lint:source-comments /home/runner/work/rebno/rebno/packages/db
2026-05-10T11:42:06.2901295Z > node scripts/check-source-comments.mjs
2026-05-10T11:42:06.2901979Z 
2026-05-10T11:42:06.3235549Z check-source-comments: OK (50 columns, all SOURCE-cited)
2026-05-10T11:42:06.3476292Z 
2026-05-10T11:42:06.3477055Z === Workspace: test ===
2026-05-10T11:42:06.3478169Z >>> pnpm -r test
2026-05-10T11:42:06.6819853Z Scope: 5 of 6 workspace projects
2026-05-10T11:42:06.6883412Z packages/db test$ vitest run
2026-05-10T11:42:06.6892454Z packages/game-logic test$ vitest run
2026-05-10T11:42:07.2460782Z 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:42:07.2475744Z 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:42:07.6667004Z packages/game-logic test:  [32m✓[39m test/golden.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 17[2mms[22m[39m
2026-05-10T11:42:07.9271016Z packages/game-logic test:  [32m✓[39m test/platform-cycle.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 20[2mms[22m[39m
2026-05-10T11:42:08.1985185Z packages/game-logic test:  [32m✓[39m test/accumulator.test.ts [2m([22m[2m7 tests[22m[2m)[22m[32m 9[2mms[22m[39m
2026-05-10T11:42:08.3217477Z packages/db test:  [32m✓[39m tests/promotion.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 10[2mms[22m[39m
2026-05-10T11:42:08.4642506Z packages/game-logic test:  [32m✓[39m test/rng.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 9[2mms[22m[39m
2026-05-10T11:42:08.4805801Z packages/game-logic test: [2m Test Files [22m [1m[32m4 passed[39m[22m[90m (4)[39m
2026-05-10T11:42:08.4834272Z packages/game-logic test: [2m      Tests [22m [1m[32m21 passed[39m[22m[90m (21)[39m
2026-05-10T11:42:08.4835996Z packages/game-logic test: [2m   Start at [22m 11:42:07
2026-05-10T11:42:08.4855642Z packages/game-logic test: [2m   Duration [22m 1.22s[2m (transform 158ms, setup 0ms, import 264ms, tests 55ms, environment 1ms)[22m
2026-05-10T11:42:08.5170329Z packages/game-logic test: Done
2026-05-10T11:42:08.5179220Z packages/protocol test$ vitest run
2026-05-10T11:42:08.5794760Z 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:42:09.0771911Z 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:42:09.4141144Z packages/db test:  [32m✓[39m tests/schema-shape.test.ts [2m([22m[2m10 tests[22m[2m)[22m[32m 14[2mms[22m[39m
2026-05-10T11:42:09.4309767Z packages/db test: [2m Test Files [22m [1m[32m3 passed[39m[22m[90m (3)[39m
2026-05-10T11:42:09.4329636Z packages/db test: [2m      Tests [22m [1m[32m22 passed[39m[22m[90m (22)[39m
2026-05-10T11:42:09.4349116Z packages/db test: [2m   Start at [22m 11:42:07
2026-05-10T11:42:09.4360485Z packages/db test: [2m   Duration [22m 2.18s[2m (transform 187ms, setup 0ms, import 1.48s, tests 32ms, environment 1ms)[22m
2026-05-10T11:42:09.4766937Z packages/db test: Done
2026-05-10T11:42:09.5374865Z packages/protocol test:  [32m✓[39m test/codec.test.ts [2m([22m[2m18 tests[22m[2m)[22m[32m 16[2mms[22m[39m
2026-05-10T11:42:09.7160425Z packages/protocol test:  [32m✓[39m test/intents.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 7[2mms[22m[39m
2026-05-10T11:42:09.9010133Z 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:42:10.0866157Z packages/protocol test:  [32m✓[39m test/state.test.ts [2m([22m[2m3 tests[22m[2m)[22m[32m 5[2mms[22m[39m
2026-05-10T11:42:10.0919879Z packages/protocol test: [2m Test Files [22m [1m[32m4 passed[39m[22m[90m (4)[39m
2026-05-10T11:42:10.0921550Z packages/protocol test: [2m      Tests [22m [1m[32m30 passed[39m[22m[90m (30)[39m
2026-05-10T11:42:10.0922540Z packages/protocol test: [2m   Start at [22m 11:42:09
2026-05-10T11:42:10.0923715Z packages/protocol test: [2m   Duration [22m 1.00s[2m (transform 186ms, setup 0ms, import 315ms, tests 33ms, environment 1ms)[22m
2026-05-10T11:42:10.1204017Z packages/protocol test: Done
2026-05-10T11:42:10.1211134Z apps/client test$ vitest run --exclude 'test/e2e/**'
2026-05-10T11:42:10.1214485Z apps/server test$ vitest run --exclude 'test/**/*.integ.test.ts'
2026-05-10T11:42:10.7090016Z 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:42:10.7739971Z apps/client test: [1m[46m RUN [49m[22m [36mv3.2.4 [39m[90m/home/runner/work/rebno/rebno/apps/client[39m
2026-05-10T11:42:11.9761468Z apps/server test:  [32m✓[39m test/persistence.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m 57[2mms[22m[39m
2026-05-10T11:42:12.3505224Z apps/server test:  [32m✓[39m test/rate-limit.test.ts [2m([22m[2m7 tests[22m[2m)[22m[32m 15[2mms[22m[39m
2026-05-10T11:42:12.5145159Z 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:42:12.5248245Z apps/client test: [22m[39mroom_layout signature did not verify — rendering skipped for mvp-lobby 000
2026-05-10T11:42:12.5251711Z apps/client test:  [32m✓[39m src/__test__/game-scene.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 179[2mms[22m[39m
2026-05-10T11:42:12.6922564Z apps/server test:  [32m✓[39m test/room-key.test.ts [2m([22m[2m7 tests[22m[2m)[22m[32m 26[2mms[22m[39m
2026-05-10T11:42:13.0390498Z apps/server test: {"level":40,"time":1778413333014,"pid":3220,"hostname":"runnervmeorf1","path":"/api/foo","msg":"staging_invite_rejected"}
2026-05-10T11:42:13.0396175Z 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:42:13.0795661Z apps/server test: {"level":40,"time":1778413333018,"pid":3220,"hostname":"runnervmeorf1","path":"/api/foo","msg":"staging_invite_rejected"}
2026-05-10T11:42:13.0802485Z apps/server test: {"level":40,"time":1778413333018,"pid":3220,"hostname":"runnervmeorf1","path":"/api/foo","msg":"staging_invite_rejected"}
2026-05-10T11:42:13.7664537Z apps/client test:  [32m✓[39m src/__test__/login-scene.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 18[2mms[22m[39m
2026-05-10T11:42:14.0360628Z apps/server test: {"level":30,"time":1778413333994,"pid":3244,"hostname":"runnervmeorf1","password":"[Redacted]","session_token":"[Redacted]","msg":"login"}
2026-05-10T11:42:14.0369506Z apps/server test:  [32m✓[39m test/otel-init.test.ts [2m([22m[2m4 tests[22m[2m)[22m[33m 739[2mms[22m[39m
2026-05-10T11:42:14.0394955Z apps/server test:      [33m[2m✓[22m[39m does not throw when OTEL_EXPORTER_OTLP_ENDPOINT is unset [33m 608[2mms[22m[39m
2026-05-10T11:42:15.0540746Z 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:42:15.0543362Z apps/server test: [22m[39m[run-migrations] opening /tmp/rebno-migrate-test-eZW87h/rebno.db
2026-05-10T11:42:15.0560786Z apps/server test: [run-migrations] migrationsFolder=/home/runner/work/rebno/rebno/packages/db/migrations
2026-05-10T11:42:15.0581633Z apps/server test: [run-migrations] OK
2026-05-10T11:42:15.0685195Z 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:42:15.0693884Z apps/server test: [22m[39m[run-migrations] opening /tmp/rebno-migrate-test-S6kwBB/rebno.db
2026-05-10T11:42:15.0695542Z apps/server test: [run-migrations] migrationsFolder=/home/runner/work/rebno/rebno/packages/db/migrations
2026-05-10T11:42:15.0697638Z apps/server test: [run-migrations] reconciled __drizzle_migrations for pre-bootstrap DB (Assumption A7) — seeded 0001_baseline
2026-05-10T11:42:15.0699285Z apps/server test: [run-migrations] OK
2026-05-10T11:42:15.0784613Z 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:42:15.0787168Z apps/server test: [22m[39m[run-migrations] opening /tmp/rebno-migrate-test-HNqPOc/rebno.db
2026-05-10T11:42:15.0789963Z apps/server test: [run-migrations] migrationsFolder=/home/runner/work/rebno/rebno/packages/db/migrations
2026-05-10T11:42:15.0791283Z apps/server test: [run-migrations] OK
2026-05-10T11:42:15.0827469Z 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:42:15.0839144Z apps/server test: [22m[39m[run-migrations] opening /tmp/rebno-migrate-test-HNqPOc/rebno.db
2026-05-10T11:42:15.0841664Z apps/server test: [run-migrations] migrationsFolder=/home/runner/work/rebno/rebno/packages/db/migrations
2026-05-10T11:42:15.0844165Z apps/server test: [run-migrations] OK
2026-05-10T11:42:15.0926245Z apps/server test:  [32m✓[39m test/run-migrations.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 57[2mms[22m[39m
2026-05-10T11:42:15.1152572Z apps/client test:  [32m✓[39m src/__test__/colyseus-client.test.ts [2m([22m[2m8 tests[22m[2m)[22m[32m 16[2mms[22m[39m
2026-05-10T11:42:15.4305919Z apps/server test:  [32m✓[39m test/log.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 24[2mms[22m[39m
2026-05-10T11:42:15.6804720Z 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:42:15.9964792Z apps/server test:  [32m✓[39m test/legacy-login.test.ts [2m([22m[2m8 tests[22m[2m)[22m[32m 25[2mms[22m[39m
2026-05-10T11:42:16.2450416Z apps/server test:  [32m✓[39m test/health.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 8[2mms[22m[39m
2026-05-10T11:42:16.4066223Z apps/client test:  [32m✓[39m src/__test__/reconnect.test.ts [2m([22m[2m13 tests[22m[2m)[22m[32m 124[2mms[22m[39m
2026-05-10T11:42:17.1204036Z apps/server test: [90mstdout[2m | test/tick-accumulator.test.ts
2026-05-10T11:42:17.1214468Z apps/server test: [22m[39m◇ injected env (50) from ../../../../../../../etc/environment // tip: ⌘ multiple files { path: ['.env.local', '.env'] }
2026-05-10T11:42:17.1216521Z apps/server test: ℹ️  optional .env file not found: .env.test, .env
2026-05-10T11:42:17.7879819Z apps/client test:  [32m✓[39m src/__test__/chat-hud.test.ts [2m([22m[2m9 tests[22m[2m)[22m[32m 147[2mms[22m[39m
2026-05-10T11:42:17.9256959Z apps/server test:  [32m✓[39m test/tick-accumulator.test.ts [2m([22m[2m8 tests[22m[2m)[22m[32m 10[2mms[22m[39m
2026-05-10T11:42:17.9390129Z apps/server test: [2m Test Files [22m [1m[32m11 passed[39m[22m[90m (11)[39m
2026-05-10T11:42:17.9429442Z apps/server test: [2m      Tests [22m [1m[32m61 passed[39m[22m[90m (61)[39m
2026-05-10T11:42:17.9458976Z apps/server test: [2m   Start at [22m 11:42:10
2026-05-10T11:42:17.9489736Z apps/server test: [2m   Duration [22m 7.21s[2m (transform 514ms, setup 0ms, import 3.69s, tests 986ms, environment 2ms)[22m
2026-05-10T11:42:17.9872531Z apps/server test: Done
2026-05-10T11:42:18.6138756Z apps/client test:  [32m✓[39m src/__test__/input-dispatcher.test.ts [2m([22m[2m10 tests[22m[2m)[22m[32m 16[2mms[22m[39m
2026-05-10T11:42:19.4066080Z apps/client test:  [32m✓[39m src/__test__/force-reset-overlay.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m 81[2mms[22m[39m
2026-05-10T11:42:20.1365226Z 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:42:20.8447356Z 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:42:21.5598143Z 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:42:22.2826083Z apps/client test:  [32m✓[39m src/__test__/nameplate.test.ts [2m([22m[2m3 tests[22m[2m)[22m[32m 26[2mms[22m[39m
2026-05-10T11:42:22.9974437Z apps/client test:  [32m✓[39m src/__test__/room-layout-verify.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 10[2mms[22m[39m
2026-05-10T11:42:23.7203560Z apps/client test:  [32m✓[39m src/__test__/auth-client.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m 8[2mms[22m[39m
2026-05-10T11:42:24.4456172Z 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:42:25.1553187Z 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:42:25.8833876Z 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:42:25.9088836Z apps/client test: [2m Test Files [22m [1m[32m16 passed[39m[22m[90m (16)[39m
2026-05-10T11:42:25.9103351Z apps/client test: [2m      Tests [22m [1m[32m98 passed[39m[22m[2m | [22m[90m4 todo[39m[90m (102)[39m
2026-05-10T11:42:25.9118217Z apps/client test: [2m   Start at [22m 11:42:10
2026-05-10T11:42:25.9120021Z apps/client test: [2m   Duration [22m 15.13s[2m (transform 598ms, setup 59ms, collect 956ms, tests 659ms, environment 8.54s, prepare 1.78s)[22m
2026-05-10T11:42:26.0560265Z apps/client test: Done
2026-05-10T11:42:26.0669474Z 
2026-05-10T11:42:26.0670239Z === Traceable-reqs: check ===
2026-05-10T11:42:26.0671021Z >>> pnpm trace:check
2026-05-10T11:42:26.3945830Z 
2026-05-10T11:42:26.3946392Z > rebno@0.0.0 trace:check /home/runner/work/rebno/rebno
2026-05-10T11:42:26.3946851Z > traceable-reqs check
2026-05-10T11:42:26.3947018Z 
2026-05-10T11:42:26.3986440Z sh: 1: traceable-reqs: not found
2026-05-10T11:42:26.4115281Z  ELIFECYCLE  Command failed.
2026-05-10T11:42:26.4325470Z 
2026-05-10T11:42:26.4326714Z verify-phase-4 FAILED at step 'Traceable-reqs: check': pnpm trace:check (exit 1)
2026-05-10T11:42:26.4328506Z Fix the failing step and re-run `pnpm verify:phase-4`.
2026-05-10T11:42:26.4496218Z  ELIFECYCLE  Command failed with exit code 1.
2026-05-10T11:42:26.4705289Z ##[error]Process completed with exit code 1.
2026-05-10T11:42:26.4884302Z ##[group]Run actions/upload-artifact@v4
2026-05-10T11:42:26.4884632Z with:
2026-05-10T11:42:26.4884847Z   name: playwright-cli-08-25627783414
2026-05-10T11:42:26.4885207Z   path: apps/client/playwright-report
apps/client/test-results

2026-05-10T11:42:26.4885557Z   retention-days: 14
2026-05-10T11:42:26.4885781Z   if-no-files-found: warn
2026-05-10T11:42:26.4886007Z   compression-level: 6
2026-05-10T11:42:26.4886220Z   overwrite: false
2026-05-10T11:42:26.4886436Z   include-hidden-files: false
2026-05-10T11:42:26.4886666Z env:
2026-05-10T11:42:26.4886899Z   PNPM_HOME: /home/runner/setup-pnpm/node_modules/.bin
2026-05-10T11:42:26.4887207Z ##[endgroup]
2026-05-10T11:42:26.7749592Z Multiple search paths detected. Calculating the least common ancestor of all paths
2026-05-10T11:42:26.7788745Z The least common ancestor is /home/runner/work/rebno/rebno/apps/client. This will be the root directory of the artifact
2026-05-10T11:42:26.7807281Z ##[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:42:26.7886632Z Post job cleanup.
2026-05-10T11:42:26.9462595Z Pruning is unnecessary.
2026-05-10T11:42:26.9616942Z Post job cleanup.
2026-05-10T11:42:27.0926808Z [command]/usr/bin/git version
2026-05-10T11:42:27.0974800Z git version 2.53.0
2026-05-10T11:42:27.1028849Z Temporarily overriding HOME='/home/runner/work/_temp/09d0d7c5-b033-44a4-955f-718dbc63b86d' before making global git config changes
2026-05-10T11:42:27.1031072Z Adding repository directory to the temporary git global config as a safe directory
2026-05-10T11:42:27.1037277Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/rebno/rebno
2026-05-10T11:42:27.1099332Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-05-10T11:42:27.1143555Z [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:42:27.1441853Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-05-10T11:42:27.1468598Z http.https://github.com/.extraheader
2026-05-10T11:42:27.1511870Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
2026-05-10T11:42:27.1531841Z [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:42:27.1806965Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-05-10T11:42:27.1847454Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-05-10T11:42:27.2242796Z Cleaning up orphan processes
2026-05-10T11:42:27.2513231Z ##[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/
