4.2 KiB
work_item, stage, author_agent, status, created_at, model_used
| work_item | stage | author_agent | status | created_at | model_used |
|---|---|---|---|---|---|
| ORCH-019 | architecture | architect | proposed | 2026-06-10 | claude-opus-4-8 |
07 — Инфраструктурные требования (Infra Requirements): ORCH-019 — Багфикс-трек
Work Item: ORCH-019 · Repo: orchestrator · Стадия: architecture
Топология не меняется. Один прод-контейнер
orchestrator(8500) + staging (8501) на mva154, общая SQLite-БД. ORCH-019 — чисто прикладное изменение под флагом. Этот документ фиксирует предусловия включения (Plane-метка + env-флаги), не новую инфраструктуру.
1. Предусловие: метка Bug в Plane-проекте (блокирующее для активации)
Багфикс-трек активируется по метке Plane с именем bug_fast_track_label (дефолт Bug),
читаемой аппаратом ORCH-089 (fetch_issue_labels/get_project_labels). Метка должна
существовать в Plane-проекте orchestrator (и в любом проекте, добавленном в
bug_fast_track_repos).
- Её отсутствие = fail-safe полный цикл (
has_label → False), не сбой. Включение флага без заведённой метки безопасно, но эффекта не даёт. - Создаётся оператором в Plane вручную (как
autoApprove/autoDeployдля ORCH-089).
2. Конфигурация (env-флаги, src/config.py)
| Флаг | Env | Дефолт | Назначение |
|---|---|---|---|
bug_fast_track_enabled |
ORCH_BUG_FAST_TRACK_ENABLED |
False |
kill-switch; False → путь старта/маршрут строго прежние (нулевая регрессия) |
bug_fast_track_label |
ORCH_BUG_FAST_TRACK_LABEL |
Bug |
имя метки Plane для распознавания бага |
bug_fast_track_repos |
ORCH_BUG_FAST_TRACK_REPOS |
"" (пусто) |
CSV-область; пусто → self-hosting only (orchestrator) |
Рекомендация выката:
enabled=Falseдо момента, когда меткаBugзаведена в Plane и проведён staging-прогон. Дефолт области (пустой CSV) = self-hosting only → enduro не затронут даже при включённом флаге.
3. Зависимости / образ
- Новых pip-зависимостей нет. Переиспользуются существующие
httpx/plane_sync(label-чтение) иsqlite3(колонкаtasks.track). Пересборка образа из-за зависимостей не требуется. - Миграция БД (
tasks.track) применяется идемпотентно при старте приложения (_ensure_column) — без ручного шага, без даунтайма (ALTER ADD COLUMN на SQLite — мгновенный).
4. Self-hosting безопасность (NFR-6)
- Механизм не рестартит/не роняет прод-контейнер, не пушит/force-push в
main. Это routing-решение планировщика + аддитивная колонка + read-only наблюдаемость. - Выкат самого ORCH-019 на прод орка идёт штатным конвейером через обязательный
deploy-staging(8501) →Confirm Deploy(ORCH-059). Топология/процедура —docs/operations/INFRA.md.
5. Новый эндпоинт (эскалация)
POST /bug-fast-track/escalate?work_item=<id> — админ-ручка возврата задачи в полный цикл
(track → 'full'), по образцу POST /serial-gate/unfreeze. Без новой инфраструктуры (тот же
FastAPI-приложение/порт). Read-only блок bug_fast_track добавляется в существующий GET /queue.