krona-staff/docs/audit/2026-09-26/ACCEPTANCE-3.md
Victor Trushenko f7d3c73f1f
Some checks failed
ci / verify (push) Has been cancelled
docs(audit): add third acceptance for Codex branches
Форматирование пересобрано чисто: ни один из 19 файлов не меняет
поведение после нормализации prettier. Пилот больше не может стартовать
с арендатором-заглушкой. Ветку с этой защитой нельзя влить, пока
tests/unit/sync.test.ts падает на новой проверке — записано, как
закрыть без правки чужой зоны.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-26 16:35:49 +07:00

6.4 KiB
Raw Blame History

Приёмка №3 — 2026-09-26

Проверка независимая, на живой PostgreSQL 17.10, в отдельной рабочей копии. Ветки исполнителей не менялись. Основная ветка — b0243d5.

Codex

Ветка Коммит Вердикт
codex/fix-format-baseline a05777c Принято. Пункт 1 TASK-CODEX-2 выполнен
codex/fix-live-database 1573860 Принято. K3/N2 и K4/N1 по-прежнему зелёные
codex/fix-tenant-config 535052e Почти: пункт 2.1 сделан правильно, но npm run check на ветке красный. Одна строка

Форматирование — пункт 1 закрыт

Перепроверил тем же способом, что и в прошлый раз: взял каждый из 19 изменённых файлов в версии из основы, прогнал prettier и сравнил с версией из ветки. Ни один файл не отличается после нормализации — в коммите только стиль. Синхронизация из него убрана.

codex/fix-live-database перебазирован на новое форматирование. Стенд Grok поверх ветки: K3/N2 и K4/N1 зелёные, стенд падает только сообщением «дефект исправлен, обновите known-defects.json» — это правильное поведение храповика, а не ошибка ветки.

Пункт 2.1 — заглушка больше не вернётся

Сделано по всем четырём местам:

Где Как
deploy/pilot/setup.sh validate_tenant(): требует переменную, проверяет ULID, отдельно отказывает заглушке. Вызывается и при создании .env, и после его чтения
compose.yaml ${STANDALONE_TENANT_ID:?…}
.env.example пусто, с комментарием откуда брать
src/config.ts заглушка отклоняется, кроме development на loopback

Что мешает влить codex/fix-tenant-config

npm run check на ветке: Test Files 1 failed | 17 passed.

FAIL tests/unit/sync.test.ts
Error: STANDALONE_TENANT_ID uses the development placeholder, which is allowed only in development on loopback

tests/unit/sync.test.ts:553 берёт STANDALONE_TENANT_ID = '01J00000000000000000000000' с NODE_ENV: 'test'. Новая проверка это запрещает. Четыре теста под заглушку ты поправил, а этот — в зоне Antigravity, поэтому и не поправил. Правильно, что не полез.

Как закрыть, не трогая чужую зону: разрешить заглушку и при NODE_ENV === 'test'. Инвариант защищает развёртывание, а NODE_ENV=test пилот никогда не обслуживает — на пилоте стоит production, в compose.yaml заглушка уже невозможна. Тест в tests/unit/config.test.ts, который сейчас требует отказа в test-режиме, соответственно поменять: пусть проверяет отказ в production и в development на не-loopback.

Готово, когда npm run check на ветке даёт Test Files 19 passed (или 18 passed | 1 skipped, как на основе).

Осталось по TASK-CODEX-2

  • Пункт 2.2 — scripts/rehome-tenant.mjs нет. Grok уже подготовил сценарии PILOT-REHOME и PILOT-REHOME-SEED и описал ожидаемый интерфейс в tests/e2e/NOTES-FOR-EXECUTORS.md: DATABASE_ADMIN_URL=… node scripts/rehome-tenant.mjs --from … --to … [--dry-run] [--json]. Держись этого интерфейса — тогда сценарий позеленеет сам.
  • Пункт 2.3 — скрипта сопоставления core_user_id нет.
  • Перед пунктом 2.2 — резервная копия K18 и проверка восстановления.

Слияния — всё чисто

Пара Результат
Codex format + AG c0 чисто
Codex live-database + AG c0 чисто
Codex tenant-config + Codex live-database чисто
Codex tenant-config + Grok чисто
Grok + Codex live-database чисто

Antigravity выстроил свои ветки в цепочку: fix-reject-device-shifts → fix-sync-c0-bootstrap. Конфликта больше нет.

Порядок влития

  1. grok/e2e-harness.
  2. Цепочка Antigravity: fix-reject-device-shifts → fix-sync-c0-bootstrap.
  3. Codex: fix-format-baseline → fix-live-database → fix-tenant-config (после исправления теста).
  4. Grok — коммит в known-defects.json: убрать K3/N2, K4/N1, K13/SYNC-A, K13/SYNC-B, SYNC-C0.

Разделы по Grok и Antigravity добавляются в этот файл после их проверки.