# Команда: node scripts/test/accept-branch.mjs $(все origin/codex/* и origin/antigravity/* кроме основы) — после git fetch в 16:16 NOVT ## accept-branch — 2026-09-26 09:20 UTC База: `origin/codex/bootstrap-platform-foundation` = b0243d5; стенд (оверлей tests/e2e, scripts/test): 6f408bc; БД: роли созданы один раз через E2E_PG_ADMIN_URL (provision-pg), дальше --roles keep. Логи: `tests/e2e/evidence/accept/2026-09-26T09-16-26/`. ### Сводка | Ветка | SHA | npm run check | integration (красные файлы) | e2e red/green | e2e: стало зелёным | e2e: стало красным | | ------------------------------------------------- | ------- | -------------- | --------------------------- | ------------------------------------------- | ------------------ | ------------------------------- | | origin/codex/bootstrap-platform-foundation (база) | b0243d5 | OK (195 passed | 1 skipped (196)) | 3/4 зелёных; FAIL: tenant-isolation.test.ts | 46/5 | n/a | n/a | | origin/antigravity/employee-notifications | 3e20544 | OK (164 passed | 1 skipped (165)) | 3/4 зелёных; FAIL: tenant-isolation.test.ts | 49/2 | — | HARNESS (AssertionError: expected 10 to be greater than or equal to 11); PILOT-REHOME-SEED (error: relation "staff_sync_change_log" does not exist); SYNC-L (AssertionError: HTTP 404 {"message":"Route POST:/api/v1/staff/sync/devices not found","error":"Not Found","statusCode":404}: expected 404 to be 201 // Object.is) | | origin/antigravity/fix-reject-device-shifts | b283736 | OK (196 passed | 3 skipped (199)) | 4/5 зелёных; FAIL: tenant-isolation.test.ts | 44/7 | K13/SYNC-A, K13/SYNC-B | — | | origin/antigravity/fix-sync-c0-bootstrap | 24cc18d | OK (197 passed | 5 skipped (202)) | 5/6 зелёных; FAIL: tenant-isolation.test.ts | 43/8 | K13/SYNC-A, K13/SYNC-B, SYNC-C0 | — | | origin/antigravity/offline-sync-backend | 5ee7517 | OK (192 passed | 1 skipped (193)) | 3/4 зелёных; FAIL: tenant-isolation.test.ts | 46/5 | — | — | | origin/codex/finance-calendar-dashboard | c08a7e6 | OK (113 passed | 1 skipped (114)) | 4/4 зелёных | 48/3 | A4, K4/N1 | CTRL (AssertionError: expected 200 to be 401 // Object.is equality); HARNESS (AssertionError: expected 8 to be greater than or equal to 11); PILOT-REHOME-SEED (error: relation "staff_professions" does not exist); SYNC-L (AssertionError: HTTP 404 {"message":"Route POST:/api/v1/staff/sync/devices not found","error":"Not Found","statusCode":404}: expected 404 to be 201 // Object.is) | | origin/codex/fix-format-baseline | a05777c | OK (195 passed | 1 skipped (196)) | 3/4 зелёных; FAIL: tenant-isolation.test.ts | 46/5 | — | — | | origin/codex/fix-live-database | 1573860 | OK (197 passed | 2 skipped (199)) | 4/5 зелёных; FAIL: tenant-isolation.test.ts | 44/7 | K3/N2, K4/N1 | — | | origin/codex/frontend-library | 331e490 | OK (195 passed | 1 skipped (196)) | 3/4 зелёных; FAIL: tenant-isolation.test.ts | 46/5 | — | — | | origin/codex/security-finance-production | f74aa6d | OK (142 passed | 1 skipped (143)) | 4/4 зелёных | 49/2 | — | HARNESS (AssertionError: expected 9 to be greater than or equal to 11); PILOT-REHOME-SEED (error: relation "staff_push_subscriptions" does not exist); SYNC-L (AssertionError: HTTP 404 {"message":"Route POST:/api/v1/staff/sync/devices not found","error":"Not Found","statusCode":404}: expected 404 to be 201 // Object.is) | | origin/codex/server-web-production | 2f6b367 | OK (113 passed | 1 skipped (114)) | 4/4 зелёных | 49/2 | K4/N1 | CTRL (AssertionError: HTTP 404 {"message":"Route POST:/api/v1/staff/imports/owner-workbook not found","error":"Not Found","statusCode":404}: expected 404 to be less t); HARNESS (AssertionError: expected 7 to be greater than or equal to 11); PILOT-REHOME-SEED (error: relation "staff_professions" does not exist); SYNC-L (AssertionError: HTTP 404 {"message":"Route POST:/api/v1/staff/sync/devices not found","error":"Not Found","statusCode":404}: expected 404 to be 201 // Object.is) | ### Интеграционные тесты (каждый файл отдельно, свежая БД) | Ветка | Файл | Итог | Test Files | Tests | Первая ошибка | | ------------------------------------------- | --------------------------------- | ---- | ------------ | -------------- | -------------------------------------------------- | | origin/codex/bootstrap-platform-foundation | health.test.ts | OK | 1 passed (1) | 3 passed (3) | | | origin/codex/bootstrap-platform-foundation | openapi-runtime.test.ts | OK | 1 passed (1) | 1 passed (1) | | | origin/codex/bootstrap-platform-foundation | portal.test.ts | OK | 1 passed (1) | 12 passed (12) | | | origin/codex/bootstrap-platform-foundation | tenant-isolation.test.ts | FAIL | 1 failed (1) | 1 passed (1) | error: permission denied for table staff_employees | | origin/antigravity/employee-notifications | health.test.ts | OK | 1 passed (1) | 3 passed (3) | | | origin/antigravity/employee-notifications | openapi-runtime.test.ts | OK | 1 passed (1) | 1 passed (1) | | | origin/antigravity/employee-notifications | portal.test.ts | OK | 1 passed (1) | 12 passed (12) | | | origin/antigravity/employee-notifications | tenant-isolation.test.ts | FAIL | 1 failed (1) | 1 passed (1) | error: permission denied for table staff_employees | | origin/antigravity/fix-reject-device-shifts | health.test.ts | OK | 1 passed (1) | 3 passed (3) | | | origin/antigravity/fix-reject-device-shifts | openapi-runtime.test.ts | OK | 1 passed (1) | 1 passed (1) | | | origin/antigravity/fix-reject-device-shifts | portal.test.ts | OK | 1 passed (1) | 12 passed (12) | | | origin/antigravity/fix-reject-device-shifts | sync-rejection.test.ts | OK | 1 passed (1) | 2 passed (2) | | | origin/antigravity/fix-reject-device-shifts | tenant-isolation.test.ts | FAIL | 1 failed (1) | 1 passed (1) | error: permission denied for table staff_employees | | origin/antigravity/fix-sync-c0-bootstrap | health.test.ts | OK | 1 passed (1) | 3 passed (3) | | | origin/antigravity/fix-sync-c0-bootstrap | openapi-runtime.test.ts | OK | 1 passed (1) | 1 passed (1) | | | origin/antigravity/fix-sync-c0-bootstrap | portal.test.ts | OK | 1 passed (1) | 12 passed (12) | | | origin/antigravity/fix-sync-c0-bootstrap | sync-bootstrap.test.ts | OK | 1 passed (1) | 2 passed (2) | | | origin/antigravity/fix-sync-c0-bootstrap | sync-rejection.test.ts | OK | 1 passed (1) | 2 passed (2) | | | origin/antigravity/fix-sync-c0-bootstrap | tenant-isolation.test.ts | FAIL | 1 failed (1) | 1 passed (1) | error: permission denied for table staff_employees | | origin/antigravity/offline-sync-backend | health.test.ts | OK | 1 passed (1) | 3 passed (3) | | | origin/antigravity/offline-sync-backend | openapi-runtime.test.ts | OK | 1 passed (1) | 1 passed (1) | | | origin/antigravity/offline-sync-backend | portal.test.ts | OK | 1 passed (1) | 12 passed (12) | | | origin/antigravity/offline-sync-backend | tenant-isolation.test.ts | FAIL | 1 failed (1) | 1 passed (1) | error: permission denied for table staff_employees | | origin/codex/finance-calendar-dashboard | health.test.ts | OK | 1 passed (1) | 3 passed (3) | | | origin/codex/finance-calendar-dashboard | openapi-runtime.test.ts | OK | 1 passed (1) | 1 passed (1) | | | origin/codex/finance-calendar-dashboard | portal.test.ts | OK | 1 passed (1) | 11 passed (11) | | | origin/codex/finance-calendar-dashboard | tenant-isolation.test.ts | OK | 1 passed (1) | 1 passed (1) | | | origin/codex/fix-format-baseline | health.test.ts | OK | 1 passed (1) | 3 passed (3) | | | origin/codex/fix-format-baseline | openapi-runtime.test.ts | OK | 1 passed (1) | 1 passed (1) | | | origin/codex/fix-format-baseline | portal.test.ts | OK | 1 passed (1) | 12 passed (12) | | | origin/codex/fix-format-baseline | tenant-isolation.test.ts | FAIL | 1 failed (1) | 1 passed (1) | error: permission denied for table staff_employees | | origin/codex/fix-live-database | health.test.ts | OK | 1 passed (1) | 3 passed (3) | | | origin/codex/fix-live-database | live-postgres-remediation.test.ts | OK | 1 passed (1) | 1 passed (1) | | | origin/codex/fix-live-database | openapi-runtime.test.ts | OK | 1 passed (1) | 1 passed (1) | | | origin/codex/fix-live-database | portal.test.ts | OK | 1 passed (1) | 12 passed (12) | | | origin/codex/fix-live-database | tenant-isolation.test.ts | FAIL | 1 failed (1) | 1 passed (1) | error: permission denied for table staff_employees | | origin/codex/frontend-library | health.test.ts | OK | 1 passed (1) | 3 passed (3) | | | origin/codex/frontend-library | openapi-runtime.test.ts | OK | 1 passed (1) | 1 passed (1) | | | origin/codex/frontend-library | portal.test.ts | OK | 1 passed (1) | 12 passed (12) | | | origin/codex/frontend-library | tenant-isolation.test.ts | FAIL | 1 failed (1) | 1 passed (1) | error: permission denied for table staff_employees | | origin/codex/security-finance-production | health.test.ts | OK | 1 passed (1) | 3 passed (3) | | | origin/codex/security-finance-production | openapi-runtime.test.ts | OK | 1 passed (1) | 1 passed (1) | | | origin/codex/security-finance-production | portal.test.ts | OK | 1 passed (1) | 12 passed (12) | | | origin/codex/security-finance-production | tenant-isolation.test.ts | OK | 1 passed (1) | 1 passed (1) | | | origin/codex/server-web-production | health.test.ts | OK | 1 passed (1) | 3 passed (3) | | | origin/codex/server-web-production | openapi-runtime.test.ts | OK | 1 passed (1) | 1 passed (1) | | | origin/codex/server-web-production | portal.test.ts | OK | 1 passed (1) | 11 passed (11) | | | origin/codex/server-web-production | tenant-isolation.test.ts | OK | 1 passed (1) | 1 passed (1) | | npm ci (lock отличается): origin/codex/finance-calendar-dashboard, origin/codex/security-finance-production, origin/codex/server-web-production ### Попарные слияния (`git merge-tree --write-tree`) | Ветка A | Ветка B | Результат | Конфликтные файлы | | ------------------------------------------- | ------------------------------------------- | --------- | ----------------- | | origin/codex/bootstrap-platform-foundation | origin/antigravity/employee-notifications | чисто | | | origin/codex/bootstrap-platform-foundation | origin/antigravity/fix-reject-device-shifts | чисто | | | origin/codex/bootstrap-platform-foundation | origin/antigravity/fix-sync-c0-bootstrap | чисто | | | origin/codex/bootstrap-platform-foundation | origin/antigravity/offline-sync-backend | чисто | | | origin/codex/bootstrap-platform-foundation | origin/codex/finance-calendar-dashboard | чисто | | | origin/codex/bootstrap-platform-foundation | origin/codex/fix-format-baseline | чисто | | | origin/codex/bootstrap-platform-foundation | origin/codex/fix-live-database | чисто | | | origin/codex/bootstrap-platform-foundation | origin/codex/frontend-library | чисто | | | origin/codex/bootstrap-platform-foundation | origin/codex/security-finance-production | чисто | | | origin/codex/bootstrap-platform-foundation | origin/codex/server-web-production | чисто | | | origin/antigravity/employee-notifications | origin/antigravity/fix-reject-device-shifts | чисто | | | origin/antigravity/employee-notifications | origin/antigravity/fix-sync-c0-bootstrap | чисто | | | origin/antigravity/employee-notifications | origin/antigravity/offline-sync-backend | чисто | | | origin/antigravity/employee-notifications | origin/codex/finance-calendar-dashboard | чисто | | | origin/antigravity/employee-notifications | origin/codex/fix-format-baseline | чисто | | | origin/antigravity/employee-notifications | origin/codex/fix-live-database | чисто | | | origin/antigravity/employee-notifications | origin/codex/frontend-library | чисто | | | origin/antigravity/employee-notifications | origin/codex/security-finance-production | чисто | | | origin/antigravity/employee-notifications | origin/codex/server-web-production | чисто | | | origin/antigravity/fix-reject-device-shifts | origin/antigravity/fix-sync-c0-bootstrap | чисто | | | origin/antigravity/fix-reject-device-shifts | origin/antigravity/offline-sync-backend | чисто | | | origin/antigravity/fix-reject-device-shifts | origin/codex/finance-calendar-dashboard | чисто | | | origin/antigravity/fix-reject-device-shifts | origin/codex/fix-format-baseline | чисто | | | origin/antigravity/fix-reject-device-shifts | origin/codex/fix-live-database | чисто | | | origin/antigravity/fix-reject-device-shifts | origin/codex/frontend-library | чисто | | | origin/antigravity/fix-reject-device-shifts | origin/codex/security-finance-production | чисто | | | origin/antigravity/fix-reject-device-shifts | origin/codex/server-web-production | чисто | | | origin/antigravity/fix-sync-c0-bootstrap | origin/antigravity/offline-sync-backend | чисто | | | origin/antigravity/fix-sync-c0-bootstrap | origin/codex/finance-calendar-dashboard | чисто | | | origin/antigravity/fix-sync-c0-bootstrap | origin/codex/fix-format-baseline | чисто | | | origin/antigravity/fix-sync-c0-bootstrap | origin/codex/fix-live-database | чисто | | | origin/antigravity/fix-sync-c0-bootstrap | origin/codex/frontend-library | чисто | | | origin/antigravity/fix-sync-c0-bootstrap | origin/codex/security-finance-production | чисто | | | origin/antigravity/fix-sync-c0-bootstrap | origin/codex/server-web-production | чисто | | | origin/antigravity/offline-sync-backend | origin/codex/finance-calendar-dashboard | чисто | | | origin/antigravity/offline-sync-backend | origin/codex/fix-format-baseline | чисто | | | origin/antigravity/offline-sync-backend | origin/codex/fix-live-database | чисто | | | origin/antigravity/offline-sync-backend | origin/codex/frontend-library | чисто | | | origin/antigravity/offline-sync-backend | origin/codex/security-finance-production | чисто | | | origin/antigravity/offline-sync-backend | origin/codex/server-web-production | чисто | | | origin/codex/finance-calendar-dashboard | origin/codex/fix-format-baseline | чисто | | | origin/codex/finance-calendar-dashboard | origin/codex/fix-live-database | чисто | | | origin/codex/finance-calendar-dashboard | origin/codex/frontend-library | чисто | | | origin/codex/finance-calendar-dashboard | origin/codex/security-finance-production | чисто | | | origin/codex/finance-calendar-dashboard | origin/codex/server-web-production | чисто | | | origin/codex/fix-format-baseline | origin/codex/fix-live-database | чисто | | | origin/codex/fix-format-baseline | origin/codex/frontend-library | чисто | | | origin/codex/fix-format-baseline | origin/codex/security-finance-production | чисто | | | origin/codex/fix-format-baseline | origin/codex/server-web-production | чисто | | | origin/codex/fix-live-database | origin/codex/frontend-library | чисто | | | origin/codex/fix-live-database | origin/codex/security-finance-production | чисто | | | origin/codex/fix-live-database | origin/codex/server-web-production | чисто | | | origin/codex/frontend-library | origin/codex/security-finance-production | чисто | | | origin/codex/frontend-library | origin/codex/server-web-production | чисто | | | origin/codex/security-finance-production | origin/codex/server-web-production | чисто | | ### Форматирование без поведения **origin/codex/fix-format-baseline** (a05777c), merge-base f5ac179, изменено файлов: 19 — ТОЛЬКО ФОРМАТИРОВАНИЕ