krona-staff/scripts
grok 3388b90bfa test(e2e): N13 — нагрузочная проверка гонки первого расчёта зарплаты
Зачем: владелец пометил N13 как «не воспроизведено», а в коде окно гонки
(SELECT ... FOR UPDATE по отсутствующей строке, затем INSERT ... ON CONFLICT
DO NOTHING со своим runId) видно. Нужен повторяемый замер на живом сервере
и реальной PostgreSQL 17, а не рассуждение.

Что: scripts/test/n13-race.mjs — 10/25/50 параллельных первых
POST /payroll/calculate, каждая попытка на новой точке, проверка статусов,
числа run_id, строк в staff_payroll_runs и «фантомных» run_id. Режим as-is
показывает, что сейчас всё упирается в N2 (500). Режим n2-bypass ставит
DEFAULT now() только в одноразовой БД скрипта (продукт и миграции не
меняются), чтобы увидеть саму гонку. Итог: 0 некорректных из 30 попыток;
причина (из кода) — случайная сериализация через upsert
ensureDefaultPayRules. Это записано в NOTES-FOR-EXECUTORS вместе с
рекомендацией явной блокировки и замечанием об утечке текста ошибок БД в 500.
2026-09-26 14:33:11 +07:00
..
test test(e2e): N13 — нагрузочная проверка гонки первого расчёта зарплаты 2026-09-26 14:33:11 +07:00
build-terminal-release.ps1 fix: read terminal release version reliably 2026-09-24 17:13:14 +07:00
check-contracts.mjs fix: enforce tenant isolation and runtime contracts 2026-09-18 01:34:12 +07:00
check-migrations.mjs feat: add secure attendance portal and payroll foundation 2026-09-24 15:59:38 +07:00
configure-terminal-pilot.ps1 feat: add secure attendance portal and payroll foundation 2026-09-24 15:59:38 +07:00
create-app-role.mjs feat: add secure attendance portal and payroll foundation 2026-09-24 15:59:38 +07:00
generate-vapid-keys.mjs fix(push): isolate employee data and preserve platform outbox 2026-09-26 12:31:10 +07:00
import-owner-workbook.py fix(import): provision workbook profession catalog 2026-09-24 21:25:13 +07:00
migrate.mjs fix: harden terminal recovery and deployment 2026-09-18 11:10:28 +07:00
migration-checksum.d.mts fix: harden terminal recovery and deployment 2026-09-18 11:10:28 +07:00
migration-checksum.mjs fix: harden terminal recovery and deployment 2026-09-18 11:10:28 +07:00