2.1 KiB
2.1 KiB
08 — Требования к схеме БД: Security-гейт (ORCH-022)
Решение: схема БД НЕ меняется
Миграций нет. Обоснование (соответствует TRZ §6 и паттерну edge-под-гейтов ORCH-043/058):
- Вердикт гейта — артефакт-файл
17-security-report.md(YAML-frontmatter), как14-deploy-log.md/15-staging-log.md. Не хранится в БД. - Состояние/идемпотентность — детерминированная пересборка вердикта при каждом тике (гейт чистый, без долгоживущего состояния между прогонами); sentinel-файлы НЕ требуются (в отличие от deploy-state/post-deploy-state — там асинхронный self-restart).
- Retry-счётчик — переиспользуется существующий
_developer_retry_count(task_id)(подсчёт поjobs/agent_runs), общий с merge-gate/image-freshness. Новой колонкиsecurity_retryНЕ вводим (TRZ §6: предпочесть подсчёт поjobs/agent_runs). Это корректно: security-FAIL, как merge/freshness-FAIL, откатывает наdevelopmentи запускает developer — он и есть единица retry; общий cap=3 защищает от петли.
Используемые существующие таблицы (без изменений)
tasks— стадия задачи (update_task_stageпри откате наdevelopment).jobs— enqueuedeveloperпри FAIL; основа_developer_retry_count.agent_runs— usage/duration; основа подсчёта retry.
Что НЕ делаем
- Не добавляем таблицу findings/CVE-журнала (история находок — в артефактах per-task; петля уроков ORCH-8 читает артефакт).
- Не добавляем колонок в
tasks/jobs.