Files
orchestrator/docs/work-items/ORCH-076/08-data-requirements.md

35 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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` — старые и новые парсеры читают единообразно.