WSL_VERIFICATION_HANDOFF
WSL_VERIFICATION_HANDOFF
REPO_REMOTE=git@github.com:stallonefennec/remote-dev.git (private)
BRANCH=main
COMMIT=697d72cc3de4aa95a382d5e16c1d16f1b0921c92
TAG=m1-vps-ready
DEV_ENV=wsl
GET_CODE:
git clone git@github.com:stallonefennec/remote-dev.git remote-dev && cd remote-dev
git checkout --detach m1-vps-ready
test "$(git rev-parse HEAD)" = "697d72cc3de4aa95a382d5e16c1d16f1b0921c92" && echo "TARGET COMMIT OK"
(clone into the WSL home directory, NOT under /mnt/c)
INSTALL=pnpm install --frozen-lockfile
CHECK=DEV_ENV=wsl scripts/check.sh
TEST_LIGHT=DEV_ENV=wsl scripts/test.sh light
TEST_FULL=DEV_ENV=wsl scripts/test.sh full
BUILD_LIGHT=DEV_ENV=wsl scripts/build.sh light
BUILD_FULL=DEV_ENV=wsl scripts/build.sh full
SERVER_START=pnpm dev:server
(node --disable-warning=ExperimentalWarning --env-file-if-exists=.env server/src/main.ts, 127.0.0.1:8090)
(built: node --disable-warning=ExperimentalWarning dist/server.mjs, also serves the web app)
RUNNER_START=pnpm dev:runner
(node --disable-warning=ExperimentalWarning --env-file-if-exists=.env runner/src/main.ts)
(built: node --disable-warning=ExperimentalWarning dist/runner.mjs)
WEB_START=pnpm dev:web
(Vite on 127.0.0.1:5173, proxies /api to 127.0.0.1:8090)
REQUIRED_ENV (names only):
scripts (check/test/build): DEV_ENV
running the app by hand:
RD_RUNNER_TOKEN required, >= 16 chars, same on server and runner [secret: choose your own, never commit]
RD_ADMIN_PASSWORD required on first server start [secret]
RD_ADMIN_USER optional (default admin)
optional: RD_HOST RD_PORT RD_DB_PATH RD_COOKIE_SECURE RD_TRUST_PROXY RD_STATIC_DIR RD_HEARTBEAT_TIMEOUT_MS
RD_OFFLINE_GRACE_MS RD_SESSION_TTL_MS RD_SERVER_URL RD_RUNNER_ID RD_RUNNER_NAME RD_WORKSPACES
RD_HEARTBEAT_MS RD_FAKE_DELAY_MS RD_RECONNECT_MIN_MS RD_RECONNECT_MAX_MS RD_MAX_UNACKED
never set: RD_ALLOW_HEAVY, RD_IGNORE_DISK_ZONE
REQUIREMENTS: Node >= 22.18 (verified on 22.22.1 only), pnpm >= 12 (lockfileVersion 9.0, made with 12.5.1)
EXPECTED: check, test light (54 tests, 0 failures), test full, build light, build full: each ends with
"RESULT: PASS ... where=wsl"; cost=heavy on the two full runs.
STILL UNTESTED, WSL MUST COVER: real browser UI; mobile widths 360/390/430; keyboard and sticky composer;
browser reconnect in a real browser; Playwright; suspend/resume. Checklist and report template: docs/WSL-VERIFY.md
DO NOT VERIFY A LATER COMMIT AS THE IMPLEMENTATION TARGET.
main now has one documentation-only commit after the M1 commit (ed641ce6d083523b8597de9d6a962cd56116b35c, adds
docs/reports/M1-IMPLEMENTATION-REPORT.md only). WSL must verify the exact frozen implementation commit
697d72cc3de4aa95a382d5e16c1d16f1b0921c92 (tag m1-vps-ready) first.
WSL MUST NOT: edit source on main (fixes go on a wsl/<topic> branch and are reported); update dependencies or the lockfile;
edit scripts/lib/guard.sh; push tags; force-push; start M2.
ACCESS NOTE: the VPS deploy key is for the VPS only and its private key must never be copied. WSL uses its own
credentials for this private repo (your own GitHub SSH key or HTTPS login), or a separate read-only deploy key.