bunfig preloads scripts/preload-env.ts which loaded dw .env.local files
BEFORE pw could rename them, so pw inherited the dev DB URL and dev.ts
auto-set EMULATE_GOOGLE_URL. The previous stash-rename approach raced
the preload and lost. Now: preload-env.ts honours PW_MODE=1 and skips
.env.local loading; pw sets EMULATE_GOOGLE_URL='' so dev.ts's ??
fallback can't reinstate emulate; the stash dance is gone. A 'bun pw
restore' command remains for one-time cleanup of pre-fix .pw-stash
files.
bun dw spins up a fully isolated per-worktree dev stack: Neon DB branch,
Dragonfly + ElasticMQ via docker compose, portless aliases, tmux
session, and emulate.dev Google OAuth. Workers, dev server, vite,
checkout, and stripe-listen run as concurrently siblings. bun setup-test
auto-runs on first dw and seeds unit-test-org via
clearOrg+setupOrg+ensureDefaultStripeAccount with 13 features + team
invites for all 5 useautumn.com members. Hardcoded localhost URLs in
test scenarios now read AUTUMN_TEST_BASE_URL/AUTUMN_TEST_VITE_URL.
preload-env.ts loads .env.local so bun t/cm/setup-test route to the
worktree server. 1265-line scripts/dw.ts split into scripts/dw/ module
(index + commands + helpers). server/src/db/initDrizzle.ts reverted to
upstream (search_path concerns solved by per-branch Neon isolation).
Workers enabled in agent worktrees now that SQS is per-worktree via
ElasticMQ.