# 08 — Требования к данным / схеме БД: ORCH-076 (ORCH-52c) Work Item: **ORCH-076** · Repo: **orchestrator** · Стадия: architecture ## Сводка **Изменений схемы БД нет.** Контракт frontmatter работает исключительно на **файлах** (YAML-frontmatter номерных документов `docs/work-items//*.md`) и **in-memory** строках. SQLite (`src/db.py`) — таблицы, индексы, миграции — **не затрагиваются** (TRZ §5). ## Детали | Аспект | Состояние | |--------|-----------| | Новые таблицы | нет | | Изменённые таблицы / колонки | нет | | Индексы | нет | | Миграции | нет (restart-safe без миграции) | | Persistent state | нет (writer пишет в файлы доков, не в БД) | ## Модель данных контракта (файлы, не БД) - **Обязательная frontmatter-схема** (машинный источник — `frontmatter.REQUIRED_FIELDS`): `work_item`, `stage`, `author_agent`, `status`, `created_at`, `model_used`. Это контракт **документа**, не строки БД. Фактическое проставление полей агентами — ORCH-52d (вне scope). - **Вердикт-ключи** (читаются единым API, семантика 1:1): `verdict:` (12), `result:`/`verdict:`/ `status:` (13, ORCH-047), `deploy_status:` (14), `staging_status:` (15), `security_status:` (17), `post_deploy_status:` (16, информационный). Формат — ведущий YAML-блок `---…---`. ## Совместимость данных - Старые документы-вердикты **без** новой схемы остаются валидными (схема аддитивна; её отсутствие не влияет на чтение вердикта — NFR-1). - Формат writer'а (`render_frontmatter`) совместим с существующим `split("---", 2)` + `yaml.safe_load` — старые и новые парсеры читают единообразно.