The synthetic insertedOrg passed to afterOrgCreated on the new-org
branch carried id/slug/createdAt but not name, so the Stripe Connect
account was created with display_name: undefined. Adds
TEST_ORG_CONFIG.name to the synthetic payload.
createTestOrg now calls the production afterOrgCreated hook directly so
the test org goes through the same bootstrap as real orgs (Stripe
Connect, Svix, OrgService.update). Both org branches gate
createStripeAccount on the existing test_stripe_connect to stay
idempotent across re-runs. Pins TEST_ORG_PUBLISHABLE_KEY (a real
KSUID-generated am_pk_test_* value) and persists
UNIT_TEST_AUTUMN_PUBLIC_KEY plus the auto-generated
UNIT_TEST_AUTUMN_SECRET_KEY to server/.env.local + server/.env so test
clients pick them up. Deletes ensureDefaultStripeAccount.ts (replaced by
the gated afterOrgCreated call).
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.