2.2 KiB
2.2 KiB
08 — Требования к данным / схеме БД: ORCH-076 (ORCH-52c)
Work Item: ORCH-076 · Repo: orchestrator · Стадия: architecture
Сводка
Изменений схемы БД нет. Контракт frontmatter работает исключительно на файлах
(YAML-frontmatter номерных документов docs/work-items/<id>/*.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— старые и новые парсеры читают единообразно.