feat(deps): @faker-js/faker wide-synthetic seed for load testing

New seed harness for stress-testing list pages, search, analytics
under realistic volumes. Faker-driven, deterministic via fixed
seed, idempotent via `clients.source_details = 'wide-synthetic'`
marker.

- `src/lib/db/seed-wide-synthetic-data.ts` — generator (1000 clients
  default, override via `WIDE_SEED_COUNT`)
- `src/lib/db/seed-wide-synthetic.ts` — entrypoint
- `pnpm db:seed:wide-synthetic` script

Distribution:
- 70% of clients get an interest (spread across pipeline stages)
- ~50% of those interests link to a real berth
- Acquisition source weighted: 55% website / 25% referral /
  15% broker / 5% manual
- Locale-aware names/emails/phones/addresses via faker

Curated synthetic seed (`seed-synthetic-data.ts`) and realistic
seed (`seed-data.ts`) are untouched — this is a third axis for
volume testing, not a replacement.

Verified: tsc clean, build green.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-12 22:43:59 +02:00
parent 92975e6bf5
commit dda554df84
4 changed files with 289 additions and 0 deletions

9
pnpm-lock.yaml generated
View File

@@ -275,6 +275,9 @@ importers:
'@axe-core/playwright':
specifier: ^4.11.3
version: 4.11.3(playwright-core@1.60.0)
'@faker-js/faker':
specifier: ^10.4.0
version: 10.4.0
'@hookform/devtools':
specifier: ^4.4.0
version: 4.4.0(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
@@ -905,6 +908,10 @@ packages:
'@noble/hashes':
optional: true
'@faker-js/faker@10.4.0':
resolution: {integrity: sha512-sDBWI3yLy8EcDzgobvJTWq1MJYzAkQdpjXuPukga9wXonhpMRvd1Izuo2Qgwey2OiEoRIBr35RMU9HJRoOHzpw==}
engines: {node: ^20.19.0 || ^22.13.0 || ^23.5.0 || >=24.0.0, npm: '>=10'}
'@fastify/otel@0.18.0':
resolution: {integrity: sha512-3TASCATfw+ctICSb4ymrv7iCm0qJ0N9CarB+CZ7zIJ7KqNbwI5JjyDL1/sxoC0ccTO1Zyd1iQ+oqncPg5FJXaA==}
peerDependencies:
@@ -7454,6 +7461,8 @@ snapshots:
optionalDependencies:
'@noble/hashes': 2.2.0
'@faker-js/faker@10.4.0': {}
'@fastify/otel@0.18.0(@opentelemetry/api@1.9.1)':
dependencies:
'@opentelemetry/api': 1.9.1