Почему это ошибка сценария, а не подгонка под продукт: C6 не фиксирует тип
счётчиков, count(*) из PostgreSQL приходит в node-postgres строкой (bigint),
а сам сценарий уже фильтровал `Number(n) > 0` и сравнивал сумму журнала
через String(). Строгое сравнение '2' с 2 роняло проверку при верных числах
(диагностика на codex/fix-tenant-rehome d52ecf3: `expected { staff_attendance_events:
'2', …(26) } to deeply equal { staff_attendance_events: 2, …(26) }`).
Остальные проверки не ослаблены: JSON последней строкой, сумма журнала
в dry-run, перенос без флага и все сверки после переноса — как в C6.
На основе f7d3c73 [PILOT-REHOME] по-прежнему красный (скрипта нет),
run-e2e: `Tests 46 failed | 10 passed (56)`, `[run-e2e] OK`.
Почему: TASK-GROK-3 п.5 / TASK-CODEX-2 п.2.2 — данные пилота живут под заглушкой
01J00000000000000000000000, перенос на 01M2R6AC5652NPT3MG34DKN4ZP нельзя проверить руками.
[PILOT-REHOME-SEED] (должен быть зелёным): таблицы с tenant_id берутся из information_schema,
в каждую сеется 2+ строки заглушки и постороннего арендатора; новая таблица без сида → красный.
[PILOT-REHOME]: --dry-run печатает те же числа и ничего не меняет; перенос админом БД; под
заглушкой 0 строк, счётчики и SUM(amount_minor) ledger совпадают, посторонний не тронут, запись
в staff_audit_log нового арендатора, krona_staff_app видит тех же сотрудников под новым tenant и
никого под старым, UPDATE staff_payroll_ledger отклоняется, повторный запуск отказывает.
Пока скрипта нет — красный с понятным сообщением, ID в known-defects.json.
Сценарий проверен временным эталоном (не коммитился): зелёный; мутации без аудита / без отказа
на повтор / с пропущенной таблицей / с записью в dry-run — красные (report-evidence/round3-pilot-rehome.txt).
client.ts: dbQueryAs(tenant, …) — запрос ролью приложения под заданным арендатором.