--- work_item: ORCH-100 stage: architecture author_agent: architect status: proposed created_at: 2026-06-10 model_used: claude-opus-4-8 --- # 08 — Требования к данным: ORCH-100 — FND/F1b: sidecar-watchdog Work Item: **ORCH-100** · Repo: **orchestrator** · Стадия: architecture > When-applicable. Создан для аудитопригодности: фиксирует, что схема БД **не меняется** — это > архитектурное утверждение (sidecar вне процесса орка, без своей БД), а не пропуск. ## Изменения схемы БД орка **N/A.** Sidecar **не пишет** в БД орка (NFR-4: строго read-only к наблюдаемому — нет `INSERT/UPDATE/DELETE/CREATE/ALTER`) и **не читает** её напрямую: всё орк-сырьё идёт через `GET /metrics` (F1a, adr-0030). `tasks`/`jobs`/`agent_runs`/`STAGE_TRANSITIONS`/`QG_CHECKS` — не тронуты. ## Собственное хранилище sidecar **Нет (по решению C-3 / ADR-001 D4).** Состояние порогов (`AlertState`: `alerting`/`last_alert_at` per signal_key) — **in-memory best-effort** в процессе демона: ни таблицы, ни файла, ни миграции. Рестарт sidecar сбрасывает карту состояний → ещё стоящая проблема корректно повторно алертится один раз (ранний сигнал, не SLA) — 1:1 семантика `disk_watchdog.PathAlertState` (ORCH-063). ## Журнал уроков (F2) **Вне объёма.** Долговременное хранение инцидентов/уроков (потенциально БД орка) — отдельная задача домена F2; F1b ничего не персистит (BRD §«Вне объёма»). ## Вывод Изменений данных/схемы нет. Контракт данных F1b — **потребление** версионированного JSON `/metrics` (adr-0030) + эфемерное in-memory состояние порогов. Откат не оставляет следов в БД.