# 07 — Требования к инфраструктуре: ORCH-076 (ORCH-52c)

Work Item: **ORCH-076** · Repo: **orchestrator** · Стадия: architecture

## Сводка

ORCH-52c — чисто кодово-документная задача (frontmatter-контракт + спека handoff). **Топология
инфраструктуры не меняется**: ни контейнеров, ни портов, ни volume, ни сети, ни CI-workflow.
Деплой — штатным путём конвейера через staging (8501) → прод (8500). Раздел существует для
фиксации двух операционных предусловий и одного конфиг-флага.

## Изменения инфраструктуры

- **Нет.** Compose-сервисы, порты (8500/8501), volume (`./data`, `./data/staging`), Gitea
  Actions — без изменений.
- БД/миграции — нет (см. `08-data-requirements.md`).
- HTTP API — нет новых/изменённых эндпоинтов.

## Конфигурация (env)

| Ключ | Значение по умолчанию | Где | Назначение |
|------|----------------------|-----|------------|
| `ORCH_FRONTMATTER_VALIDATION_STRICT` | `false` | `.env` / `.env.staging` | Kill-switch строгой валидации схемы frontmatter. **На ORCH-52c держать `false`** (иначе self-block: доки ещё без полной схемы). Включается не раньше ORCH-52d. |

> Флаг **аддитивный**; его отсутствие в окружении эквивалентно `false` (pydantic-дефолт
> `frontmatter_validation_strict: bool = False`). Явная установка не требуется на этой задаче;
> строка в `.env.example` добавляется документации ради.

## Операционные предусловия

### П-1. Лейбл `autoDeploy` (первый боевой автодеплой — ORCH-089)
На задаче выставлен лейбл `autoDeploy`: после зелёного staging и всех тех-гейтов орк **сам**
подтверждает прод-деплой (Фаза B ORCH-036/059), без ручного «Confirm Deploy».
- Предусловие: лейбл `autoDeploy` существует в Plane-проекте ORCH и проставлен на ORCH-076
  (инфра-предусловие ORCH-089). Его отсутствие = fail-safe → ручной гейт (деплой не сорвётся,
  просто потребует ручного «Confirm Deploy»).
- BRD-гейт остаётся **ручным** (Слава подтверждает BRD) — `autoApprove` НЕ выставлен.
- Наблюдение: стадия `deploy` орка должна пройти через зелёные под-гейты ребра
  `deploy-staging → deploy` (security → merge-gate → image-freshness → staging) до Фазы B —
  `autoDeploy` физически не деплоит сломанное (BR-5 ORCH-089). Детали реакции на сбой —
  `10-tech-risks.md` (R-3).

### П-2. Self-hosting рестарт-дисциплина
Прод-контейнер `orchestrator` (8500) — общий для всех проектов. Деплой ORCH-52c проходит через
штатный detached host-хук (ORCH-036), **не** ручным `docker compose`. Ручной рестарт прод-
контейнера в рамках задачи **запрещён** (встанет конвейер enduro). Откат — `orchestrator-deploy-hook.sh --rollback` (стандартный путь), не предмет этой задачи.

## Вне инфра-объёма
- Изменения промптов агентов, ретро-фит схемы в старые доки — ORCH-52d.
- Любые новые сервисы/демоны/cron — не вводятся.
