From 10ba0b440f20148ff6f3e01a3f8e02def1bdbadf Mon Sep 17 00:00:00 2001 From: grok Date: Sat, 26 Sep 2026 16:24:19 +0700 Subject: [PATCH] =?UTF-8?q?docs(e2e):=20=D0=B4=D0=BE=D0=BA=D0=B0=D0=B7?= =?UTF-8?q?=D0=B0=D1=82=D0=B5=D0=BB=D1=8C=D1=81=D1=82=D0=B2=D0=B0=20=D0=BA?= =?UTF-8?q?=D1=80=D1=83=D0=B3=D0=B0=203=20=E2=80=94=20=D0=B2=D1=8B=D0=B2?= =?UTF-8?q?=D0=BE=D0=B4=20accept-branch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Почему: TASK-GROK-3 требует каждый вывод с командой и фактическим выводом. round3-accept-owner-shas.md — 1df2019/8baad55/513cdff: все ожидания владельца подтвердились; round3-accept-owner-branches-first.md — те же ветки по именам (Antigravity уже 6c5bf36); round3-format-proof.md — prettier-only ветка проходит, 513cdff ловится; round3-accept-all-open.md — все открытые codex/*, antigravity/* после fetch 16:16 NOVT; round3-combined-merge.md — локальная сборка основа+live-database+c0(+grok): конфликтов нет, интеграционные 7/7, храповик просит убрать ровно K3/N2, K4/N1, K13/SYNC-A, K13/SYNC-B, SYNC-C0; round3-preset-mode.md — режим E2E_MIGRATOR_URL/E2E_APP_URL (вердикт SKIP). Файлы прогнаны через prettier (иначе format:check в CI падает), содержимое таблиц не менялось. --- .../report-evidence/round3-accept-all-open.md | 140 ++++++++++++++++++ .../round3-accept-owner-branches-first.md | 57 +++++++ .../round3-accept-owner-shas.md | 57 +++++++ .../report-evidence/round3-combined-merge.md | 82 ++++++++++ .../report-evidence/round3-format-proof.md | 19 +++ .../e2e/report-evidence/round3-preset-mode.md | 26 ++++ 6 files changed, 381 insertions(+) create mode 100644 tests/e2e/report-evidence/round3-accept-all-open.md create mode 100644 tests/e2e/report-evidence/round3-accept-owner-branches-first.md create mode 100644 tests/e2e/report-evidence/round3-accept-owner-shas.md create mode 100644 tests/e2e/report-evidence/round3-combined-merge.md create mode 100644 tests/e2e/report-evidence/round3-format-proof.md create mode 100644 tests/e2e/report-evidence/round3-preset-mode.md diff --git a/tests/e2e/report-evidence/round3-accept-all-open.md b/tests/e2e/report-evidence/round3-accept-all-open.md new file mode 100644 index 0000000..2e8d470 --- /dev/null +++ b/tests/e2e/report-evidence/round3-accept-all-open.md @@ -0,0 +1,140 @@ +# Команда: 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 — ТОЛЬКО ФОРМАТИРОВАНИЕ diff --git a/tests/e2e/report-evidence/round3-accept-owner-branches-first.md b/tests/e2e/report-evidence/round3-accept-owner-branches-first.md new file mode 100644 index 0000000..1a50c71 --- /dev/null +++ b/tests/e2e/report-evidence/round3-accept-owner-branches-first.md @@ -0,0 +1,57 @@ +# Команда: node scripts/test/accept-branch.mjs antigravity/fix-reject-device-shifts antigravity/fix-sync-c0-bootstrap codex/fix-format-baseline (16:03 NOVT; ветка Antigravity к этому времени уже 6c5bf36; версия скрипта до вердикта SKIP) + +## accept-branch — 2026-09-26 09:04 UTC + +База: `origin/codex/bootstrap-platform-foundation` = b0243d5; стенд (оверлей tests/e2e, scripts/test): aa7f5f8 (+ незакоммиченные изменения стенда); БД: роли созданы один раз через E2E_PG_ADMIN_URL (provision-pg), дальше --roles keep. Логи: `tests/e2e/evidence/accept/2026-09-26T09-03-17/`. + +### Сводка + +| Ветка | 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 | 45/4 | n/a | n/a | +| origin/antigravity/fix-reject-device-shifts | 6c5bf36 | OK (196 passed | 3 skipped (199)) | 4/5 зелёных; FAIL: tenant-isolation.test.ts | 43/6 | K13/SYNC-A, K13/SYNC-B | — | +| origin/antigravity/fix-sync-c0-bootstrap | 8baad55 | OK (196 passed | 3 skipped (199)) | 3/5 зелёных; FAIL: sync-bootstrap.test.ts, tenant-isolation.test.ts | 44/5 | SYNC-C0 | — | +| origin/codex/fix-format-baseline | 513cdff | OK (196 passed | 1 skipped (197)) | 3/4 зелёных; FAIL: tenant-isolation.test.ts | 43/6 | K13/SYNC-A, K13/SYNC-B | — | + +### Интеграционные тесты (каждый файл отдельно, свежая БД) + +| Ветка | Файл | Итог | 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/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 | FAIL | 1 failed (1) | 2 passed (2) | Error: Called end on pool more than once | +| 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/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 | + +### Попарные слияния (`git merge-tree --write-tree`) + +| Ветка A | Ветка B | Результат | Конфликтные файлы | +| ------------------------------------------- | ------------------------------------------- | --------- | -------------------------- | +| 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/codex/fix-format-baseline | чисто | | +| origin/antigravity/fix-reject-device-shifts | origin/antigravity/fix-sync-c0-bootstrap | КОНФЛИКТ | src/domain/sync/service.ts | +| origin/antigravity/fix-reject-device-shifts | origin/codex/fix-format-baseline | чисто | | +| origin/antigravity/fix-sync-c0-bootstrap | origin/codex/fix-format-baseline | КОНФЛИКТ | src/domain/sync/service.ts | + +### Форматирование без поведения + +**origin/codex/fix-format-baseline** (513cdff), merge-base f5ac179, изменено файлов: 24 — ЕСТЬ ИЗМЕНЕНИЯ СВЕРХ PRETTIER + +| Файл | Почему | Строк сверх prettier | Эти же строки в ветке | +| -------------------------- | ----------------------------- | -------------------- | ---------------------------------------------------------------------------------------- | +| src/domain/sync/service.ts | не совпадает с prettier(база) | 232 | antigravity/fix-reject-device-shifts: 232/232; antigravity/fix-sync-c0-bootstrap: 6/232 | +| tests/unit/sync.test.ts | не совпадает с prettier(база) | 130 | antigravity/fix-reject-device-shifts: 130/130; antigravity/fix-sync-c0-bootstrap: 12/130 | diff --git a/tests/e2e/report-evidence/round3-accept-owner-shas.md b/tests/e2e/report-evidence/round3-accept-owner-shas.md new file mode 100644 index 0000000..eba1c2d --- /dev/null +++ b/tests/e2e/report-evidence/round3-accept-owner-shas.md @@ -0,0 +1,57 @@ +# Команда: node scripts/test/accept-branch.mjs 1df2019 antigravity/fix-sync-c0-bootstrap codex/fix-format-baseline (SHA 1df2019 = прежняя голова antigravity/fix-reject-device-shifts; 8baad55, 513cdff — головы на момент прогона, 16:04 NOVT) + +## accept-branch — 2026-09-26 09:06 UTC + +База: `origin/codex/bootstrap-platform-foundation` = b0243d5; стенд (оверлей tests/e2e, scripts/test): aa7f5f8 (+ незакоммиченные изменения стенда); БД: роли созданы один раз через E2E_PG_ADMIN_URL (provision-pg), дальше --roles keep. Логи: `tests/e2e/evidence/accept/2026-09-26T09-05-12/`. + +### Сводка + +| Ветка | 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 | 45/4 | n/a | n/a | +| 1df2019 | 1df2019 | OK (196 passed | 3 skipped (199)) | 3/5 зелёных; FAIL: sync-rejection.test.ts, tenant-isolation.test.ts | 43/6 | K13/SYNC-A, K13/SYNC-B | — | +| origin/antigravity/fix-sync-c0-bootstrap | 8baad55 | OK (196 passed | 3 skipped (199)) | 3/5 зелёных; FAIL: sync-bootstrap.test.ts, tenant-isolation.test.ts | 44/5 | SYNC-C0 | — | +| origin/codex/fix-format-baseline | 513cdff | OK (196 passed | 1 skipped (197)) | 3/4 зелёных; FAIL: tenant-isolation.test.ts | 43/6 | K13/SYNC-A, K13/SYNC-B | — | + +### Интеграционные тесты (каждый файл отдельно, свежая БД) + +| Ветка | Файл | Итог | 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 | +| 1df2019 | health.test.ts | OK | 1 passed (1) | 3 passed (3) | | +| 1df2019 | openapi-runtime.test.ts | OK | 1 passed (1) | 1 passed (1) | | +| 1df2019 | portal.test.ts | OK | 1 passed (1) | 12 passed (12) | | +| 1df2019 | sync-rejection.test.ts | FAIL | 1 failed (1) | 2 skipped (2) | error: column "created_by" of relation "staff_employees" does not exist | +| 1df2019 | 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 | FAIL | 1 failed (1) | 2 passed (2) | Error: Called end on pool more than once | +| 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/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 | + +### Попарные слияния (`git merge-tree --write-tree`) + +| Ветка A | Ветка B | Результат | Конфликтные файлы | +| ------------------------------------------ | ---------------------------------------- | --------- | -------------------------- | +| origin/codex/bootstrap-platform-foundation | 1df2019 | чисто | | +| origin/codex/bootstrap-platform-foundation | origin/antigravity/fix-sync-c0-bootstrap | чисто | | +| origin/codex/bootstrap-platform-foundation | origin/codex/fix-format-baseline | чисто | | +| 1df2019 | origin/antigravity/fix-sync-c0-bootstrap | КОНФЛИКТ | src/domain/sync/service.ts | +| 1df2019 | origin/codex/fix-format-baseline | чисто | | +| origin/antigravity/fix-sync-c0-bootstrap | origin/codex/fix-format-baseline | КОНФЛИКТ | src/domain/sync/service.ts | + +### Форматирование без поведения + +**origin/codex/fix-format-baseline** (513cdff), merge-base f5ac179, изменено файлов: 24 — ЕСТЬ ИЗМЕНЕНИЯ СВЕРХ PRETTIER + +| Файл | Почему | Строк сверх prettier | Эти же строки в ветке | +| -------------------------- | ----------------------------- | -------------------- | ----------------------------------------------------------- | +| src/domain/sync/service.ts | не совпадает с prettier(база) | 232 | 1df2019: 232/232; antigravity/fix-sync-c0-bootstrap: 6/232 | +| tests/unit/sync.test.ts | не совпадает с prettier(база) | 130 | 1df2019: 130/130; antigravity/fix-sync-c0-bootstrap: 12/130 | diff --git a/tests/e2e/report-evidence/round3-combined-merge.md b/tests/e2e/report-evidence/round3-combined-merge.md new file mode 100644 index 0000000..e4436e3 --- /dev/null +++ b/tests/e2e/report-evidence/round3-combined-merge.md @@ -0,0 +1,82 @@ +# Локальные ветки (не запушены): tmp/combined-round3 = b0243d5 + merge origin/codex/fix-live-database (1573860) + merge origin/antigravity/fix-sync-c0-bootstrap (24cc18d), без конфликтов; tmp/combined-round3-grok = то же + merge grok/e2e-harness (6f408bc). Команда: node scripts/test/accept-branch.mjs <ветка> + +## accept-branch — 2026-09-26 09:22 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-22-01/`. + +### Сводка + +| Ветка | 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 | +| tmp/combined-round3 | 48128c8 | OK (199 passed | 6 skipped (205)) | 6/7 зелёных; FAIL: tenant-isolation.test.ts | 41/10 | K13/SYNC-A, K13/SYNC-B, K3/N2, K4/N1, SYNC-C0 | — | + +### Интеграционные тесты (каждый файл отдельно, свежая БД) + +| Ветка | Файл | Итог | 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 | +| tmp/combined-round3 | health.test.ts | OK | 1 passed (1) | 3 passed (3) | | +| tmp/combined-round3 | live-postgres-remediation.test.ts | OK | 1 passed (1) | 1 passed (1) | | +| tmp/combined-round3 | openapi-runtime.test.ts | OK | 1 passed (1) | 1 passed (1) | | +| tmp/combined-round3 | portal.test.ts | OK | 1 passed (1) | 12 passed (12) | | +| tmp/combined-round3 | sync-bootstrap.test.ts | OK | 1 passed (1) | 2 passed (2) | | +| tmp/combined-round3 | sync-rejection.test.ts | OK | 1 passed (1) | 2 passed (2) | | +| tmp/combined-round3 | tenant-isolation.test.ts | FAIL | 1 failed (1) | 1 passed (1) | error: permission denied for table staff_employees | + +### Попарные слияния (`git merge-tree --write-tree`) + +| Ветка A | Ветка B | Результат | Конфликтные файлы | +| ------------------------------------------ | ------------------- | --------- | ----------------- | +| origin/codex/bootstrap-platform-foundation | tmp/combined-round3 | чисто | | + +--- + +## accept-branch — 2026-09-26 09:23 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-23-04/`. + +### Сводка + +| Ветка | 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 | +| tmp/combined-round3-grok | e94415a | OK (199 passed | 6 skipped (205)) | 7/7 зелёных | 41/10 | K13/SYNC-A, K13/SYNC-B, K3/N2, K4/N1, SYNC-C0 | — | + +### Интеграционные тесты (каждый файл отдельно, свежая БД) + +| Ветка | Файл | Итог | 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 | +| tmp/combined-round3-grok | health.test.ts | OK | 1 passed (1) | 3 passed (3) | | +| tmp/combined-round3-grok | live-postgres-remediation.test.ts | OK | 1 passed (1) | 1 passed (1) | | +| tmp/combined-round3-grok | openapi-runtime.test.ts | OK | 1 passed (1) | 1 passed (1) | | +| tmp/combined-round3-grok | portal.test.ts | OK | 1 passed (1) | 12 passed (12) | | +| tmp/combined-round3-grok | sync-bootstrap.test.ts | OK | 1 passed (1) | 2 passed (2) | | +| tmp/combined-round3-grok | sync-rejection.test.ts | OK | 1 passed (1) | 2 passed (2) | | +| tmp/combined-round3-grok | tenant-isolation.test.ts | OK | 1 passed (1) | 1 passed (1) | | + +Внимание: ветка меняла файлы стенда, при приёмке они заменены оверлеем: + +- tmp/combined-round3-grok: scripts/test/accept-branch.mjs, scripts/test/ci-local.sh, scripts/test/migrate-roundtrip.mjs, scripts/test/n13-race.mjs, scripts/test/node-commands.d.mts, scripts/test/node-commands.mjs, scripts/test/provision-pg.mjs, scripts/test/run-e2e.mjs, tests/e2e/00-harness.e2e.ts, tests/e2e/10-core-defects.e2e.ts, tests/e2e/20-sync-defects.e2e.ts, tests/e2e/30-owner-decisions.e2e.ts, tests/e2e/40-compose-pilot.e2e.ts, tests/e2e/50-money-and-errors.e2e.ts, tests/e2e/60-pilot-rehome.e2e.ts, tests/e2e/NOTES-FOR-EXECUTORS.md, tests/e2e/REPORT.md, tests/e2e/harness/client.ts, tests/e2e/harness/context.ts, tests/e2e/harness/fixtures.ts, tests/e2e/harness/global-setup.ts, tests/e2e/harness/node-commands.test.ts, tests/e2e/known-defects.json, tests/e2e/report-evidence/acceptance-antigravity-fix-reject-device-shifts.txt, tests/e2e/report-evidence/acceptance-codex-fix-format-baseline.txt, tests/e2e/report-evidence/acceptance-codex-fix-live-database.txt, tests/e2e/report-evidence/n13-race.txt, tests/e2e/report-evidence/n5-after.txt, tests/e2e/report-evidence/n5-before.txt, tests/e2e/report-evidence/round3-pilot-rehome.txt, tests/e2e/vitest.e2e.config.ts + +### Попарные слияния (`git merge-tree --write-tree`) + +| Ветка A | Ветка B | Результат | Конфликтные файлы | +| ------------------------------------------ | ------------------------ | --------- | ----------------- | +| origin/codex/bootstrap-platform-foundation | tmp/combined-round3-grok | чисто | | + +``` +[run-e2e] FAIL: +- K13/SYNC-A: дефект исправлен, обновите known-defects.json +- K13/SYNC-B: дефект исправлен, обновите known-defects.json +- K3/N2: дефект исправлен, обновите known-defects.json +- K4/N1: дефект исправлен, обновите known-defects.json +- SYNC-C0: дефект исправлен, обновите known-defects.json +``` diff --git a/tests/e2e/report-evidence/round3-format-proof.md b/tests/e2e/report-evidence/round3-format-proof.md new file mode 100644 index 0000000..65e1984 --- /dev/null +++ b/tests/e2e/report-evidence/round3-format-proof.md @@ -0,0 +1,19 @@ +# Команда: node scripts/test/accept-branch.mjs --format-check tmp/prettier-only-f5ac179 --format-check codex/fix-format-baseline (tmp/prettier-only-f5ac179 = c552d38: `prettier --write .` поверх f5ac179, локальная ветка, не запушена; 513cdff — прежняя голова codex/fix-format-baseline) + +[accept] tmp/prettier-only-f5ac179: проверка форматирования +[accept] codex/fix-format-baseline: проверка форматирования + +## accept-branch — 2026-09-26 09:03 UTC + +База: `origin/codex/bootstrap-platform-foundation` = b0243d5; стенд (оверлей tests/e2e, scripts/test): aa7f5f8 (+ незакоммиченные изменения стенда); БД: не использовалась. Логи: `tests/e2e/evidence/accept/2026-09-26T09-03-11/`. + +### Форматирование без поведения + +**tmp/prettier-only-f5ac179** (c552d38), merge-base f5ac179, изменено файлов: 24 — ТОЛЬКО ФОРМАТИРОВАНИЕ + +**origin/codex/fix-format-baseline** (513cdff), merge-base f5ac179, изменено файлов: 24 — ЕСТЬ ИЗМЕНЕНИЯ СВЕРХ PRETTIER + +| Файл | Почему | Строк сверх prettier | Эти же строки в ветке | +| -------------------------- | ----------------------------- | -------------------- | --------------------- | +| src/domain/sync/service.ts | не совпадает с prettier(база) | 232 | — | +| tests/unit/sync.test.ts | не совпадает с prettier(база) | 130 | — | diff --git a/tests/e2e/report-evidence/round3-preset-mode.md b/tests/e2e/report-evidence/round3-preset-mode.md new file mode 100644 index 0000000..95386e8 --- /dev/null +++ b/tests/e2e/report-evidence/round3-preset-mode.md @@ -0,0 +1,26 @@ +# Режим готовых ролей: E2E_MIGRATOR_URL/E2E_APP_URL заданы, E2E_PG_ADMIN_URL не задан. Команда: node scripts/test/accept-branch.mjs --skip-check codex/fix-live-database (8e955b0) + +База: `origin/codex/bootstrap-platform-foundation` = b0243d5; стенд (оверлей tests/e2e, scripts/test): d7b2352 (+ незакоммиченные изменения стенда); БД: роли из E2E_MIGRATOR_URL/E2E_APP_URL (не пересоздавались). Логи: `tests/e2e/evidence/accept/2026-09-26T09-15-44/`. + +### Сводка + +| Ветка | SHA | npm run check | integration (красные файлы) | e2e red/green | e2e: стало зелёным | e2e: стало красным | +| ------------------------------------------------- | ------- | ------------- | ------------------------------------------------------------------------------------------------------------ | ------------- | ------------------------------------ | ------------------ | +| origin/codex/bootstrap-platform-foundation (база) | b0243d5 | не запускался | 3/4 зелёных; FAIL: tenant-isolation.test.ts | 46/5 | n/a | n/a | +| origin/codex/fix-live-database | 8e955b0 | не запускался | 3/5 зелёных; FAIL: tenant-isolation.test.ts; SKIP (файл пропущен целиком): live-postgres-remediation.test.ts | 42/9 | K13/SYNC-A, K13/SYNC-B, K3/N2, K4/N1 | — | + +### Интеграционные тесты (каждый файл отдельно, свежая БД) + +| Ветка | Файл | Итог | 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/codex/fix-live-database | health.test.ts | OK | 1 passed (1) | 3 passed (3) | | +| origin/codex/fix-live-database | live-postgres-remediation.test.ts | SKIP | 1 skipped (1) | 1 skipped (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 | + +### Попарные слияния (`git merge-tree --write-tree`)