Files
docs/development/verification.md
T
ksv741 c0dfb80617 docs: describe manual bank card accounting
Document exact balances, corrections, archive behavior and safe migration and rollback. Update product navigation and UI catalog.
2026-09-12 18:34:20 +03:00

66 lines
5.9 KiB
Markdown

# Что подтверждают проверки системы
Успешная сборка, запуск, равенство схем и прохождение пользовательского
сценария — разные доказательства. Выбор проверки зависит от наблюдаемого
риска: денежных вычислений, доступа, целостности данных или состояния интерфейса.
Общие основания описаны в [принципах сопровождения](engineering-governance.md#risk-based-testing).
## Интерфейс
Локальный gate frontend охватывает типы, статический анализ, автоматические
сценарии, зависимости и сборки приложения и UI-каталога. Он выполняется
без запущенного backend. Покрытие ограничивает регрессии, но не доказывает
правильность финансового расчёта, доступность и полный пользовательский сценарий.
[Каталог](ui-catalog.md) показывает существующие визуальные решения на
вымышленных данных. Широкий и узкий экран, клавиатурная навигация,
восстановление после ошибок и соответствие задаче проверяются в интерфейсе
отдельно от сборки. Изолированная тестовая среда не воспроизводит все свойства
браузера и живой интеграции.
## API и хранение данных
Локальный gate backend объединяет статический анализ, типы приложения и тестов,
автоматические сценарии и сборку. Он не исправляет исходные файлы;
автоматическое форматирование выполняется отдельно и не является доказательством.
Диагностика покрытия доступна без общего числового порога.
Равенство OpenAPI подтверждает согласованность публичного описания с клиентом.
Валидация, cookie, авторизация счёта, статусы и ошибки требуют полного HTTP-потока;
целостность и конкурентные изменения данных — проверки с изолированной реальной
базой. Подставной ответ базы не доказывает её транзакционные свойства.
Направление генерации и границы сравнения — в [проверке OpenAPI](runtime-openapi-verification.md).
### Известное ограничение сквозной проверки
В сохранённой проверке Prisma 7.9.1 под Node 22 применение миграций к новой
SQLite-базе завершалось `Schema engine error` до запуска сквозных тестов.
Это ограничение зафиксировано в [WL-P2-05](audit-remediation.md#p2).
Предыдущее описание локальной проверки от 12 сентября 2026 года также отмечало
ошибку на временной базе без обращения к пользовательской базе.
Успех unit-проверок и OpenAPI не закрывает эту границу. Условие проверки —
стабильная версия Prisma с тремя последовательными успешными применениями
миграций на новых базах под Node 22.
При реализации ручных карт Prisma 7.9.1 на Node 22.21.0 трижды подряд применил
существующие migrations к новым временным базам командой
`RUST_LOG=info DATABASE_URL=file:<новая-временная-база> npx prisma migrate deploy`
вне sandbox. Без `RUST_LOG=info` пустой `Schema engine error` воспроизводился
и вне sandbox. Поэтому подтверждён именно этот способ запуска; исправление
обычного запуска или причина зависимости от журналирования не установлены.
Он использует штатную историю migrations без `db push`, reset или ручного SQL-обхода.
Результат исходной проверки сохранён в
[Tasks ручных карт](../../specs/openspec/changes/add-manual-bank-cards/tasks.md).
Применение новой миграции, DB-инварианты и HTTP-сценарии требуют своих проверок.
Условия безопасного локального запуска и сохранения данных —
в [локальном окружении](local-workspace.md).
## Где выполнять проверки
Команды и конкретные тестовые правила поддерживаются в локальных инструкциях
[frontend](../../frontend/AGENTS.md) и [backend](../../backend/AGENTS.md).
Проверки этой документации — в [CONTRIBUTING](../CONTRIBUTING.md#проверки).
Отчёт различает пройденную границу, оставшееся ограничение и проверяемое состояние;
успех одного gate не распространяется автоматически на весь workspace.