# Инфраструктурные требования — ORCH-067

Топология не меняется (никаких новых контейнеров/портов/сервисов). Изменения —
**только конфигурация/env** и обязательный staging-гейт (self-hosting).

## 1. Изменения конфигурации (`src/config.py`)

| Поле | env | Старое | Новое | Назначение |
|---|---|---|---|---|
| `tracker_mode` | `ORCH_TRACKER_MODE` | `"edit"` | `"bump"` (дефолт) | Карточка падает вниз ленты при обновлении (ADR-001 Р-7). `edit` доступен через env. |
| `tracker_live_status` | `ORCH_TRACKER_LIVE_STATUS` | — (нет) | `True` (дефолт) | Kill-switch live-overlay Plane-статуса (ADR-001 Р-2). `0/false` → только offline-метки, без сетевых чтений в рендере. |
| `tracker_live_status_ttl_s` | `ORCH_TRACKER_LIVE_STATUS_TTL_S` | — | `60` | TTL per-issue кэша live-статуса (ADR-001 Р-3). |
| `tracker_live_status_timeout_s` | `ORCH_TRACKER_LIVE_STATUS_TIMEOUT_S` | — | `3` | Короткий таймаут live-чтения в рендере (ADR-001 Р-4). |

Уже существующие (не менять, использовать): `plane_web_url`
(`ORCH_PLANE_WEB_URL`, прод — `https://plane.mva154.duckdns.org`),
`plane_workspace_slug` (прод — `ag_proj`), `plane_api_url`.

## 2. `.env` / `.env.example`

- Обновить `.env.example`: добавить `ORCH_TRACKER_MODE`, `ORCH_PLANE_WEB_URL`,
  `ORCH_TRACKER_LIVE_STATUS*` с дефолтами и комментариями (канон настроек —
  `.env.example`, реальные секреты не коммитить).
- На прод-хосте допустимо явно выставить `ORCH_TRACKER_MODE=bump` как страховку, но код
  обязан работать «из коробки» и без env.
- `ORCH_PLANE_WEB_URL` должен быть задан на проде (иначе номер задачи деградирует на
  текст без ссылки — fail-safe, не падение).

## 3. Self-hosting (обязательно)

- **НЕ перезапускать / не ронять** прод-контейнер `orchestrator` (8500) в рамках задачи —
  общий инстанс/БД с enduro-trails.
- Обязательная страховка через `deploy-staging` (8501, изолированная БД) **до** прод-деплоя.
  На staging проверить:
  - режим `bump`: одна карточка на задачу, падает вниз, тихо (без звука), без дублей;
  - статус-строка: `⏸️ In Review`, `⏸️ Awaiting Deploy`, `❓ Needs Input` отображаются;
  - кликабельный номер ведёт на страницу Plane;
  - **нет регресса для enduro-trails** (карточка без новых статусов деградирует корректно).
- Прод-деплой орка — только переводом задачи на стадии `deploy` в статус
  **«Confirm Deploy»** (ORCH-059), не `Approved`.

## 4. Сетевые требования

- Live-overlay требует доступности Plane API (`plane_api_url`) из контейнера — он уже
  есть (используется plane_sync). Недоступность Plane → graceful degrade на offline-метку,
  конвейер не блокируется (короткий таймаут + kill-switch).
