Files
orchestrator/docs/work-items/ORCH-044/14-deploy-log.md
claude-bot 577bf8351e
All checks were successful
CI / test (push) Successful in 13s
CI / test (pull_request) Successful in 12s
deployer(ET): auto-commit from deployer run_id=163
2026-06-06 08:45:31 +00:00

91 lines
5.1 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.
---
deploy_status: SUCCESS
timestamp: 2026-06-06T08:44:04Z
work_item: ORCH-044
branch: feature/ORCH-044-preflight-auth-effort
commit: 08ace892bbf1809a65c1dc504459d052bfd71f79
target_service: orchestrator
target_port: 8500
deploy_mode: artifact-only
staging_gate: SUCCESS
prod_container_restarted: false
rebuild_required: true
---
# Deploy Log — ORCH-044
## Verdict
**`deploy_status: SUCCESS`** — артефактный (artifact-only) деплой-вердикт.
Реальный `git pull` + `docker compose ... --build` + рестарт прод-контейнера
`orchestrator` (8500) в рамках этой стадии **НЕ выполняется**. Он делегирован
хуку `scripts/orchestrator-deploy-hook.sh` (ORCH-36), который запускается
Владельцем **после** мерджа ветки `feature/ORCH-044-preflight-auth-effort` в
`main`. Guardrail: агент никогда не перезапускает общий прод-инстанс внутри
ORCH-задачи (CLAUDE.md / INFRA.md §Self-hosting).
## Pre-conditions (все ✓)
| Артефакт | Поле | Значение |
|----------|------|----------|
| `12-review.md` | `verdict` | `APPROVED` |
| `13-test-report.md` | `result` | `PASS` |
| `15-staging-log.md` (origin/main) | `staging_status` | `SUCCESS` (10/10 staging-checks, прогон внутри `orchestrator-staging` :8501) |
| `04-test-plan.yaml` | — | покрывает AC (P2/`--effort` исключён владельцем → ORCH-50, N/A) |
| ADR | `06-adr/ADR-001-preflight-auth-and-empty-result-failure.md` | заведён |
| `CHANGELOG.md` | — | обновлён |
Стадия `deploy` достижима только потому, что условный staging-гейт
(`check_staging_status`, реальный для self-hosting repo=orchestrator) — зелёный.
## Change scope — почему нужен rebuild+restart (но не сейчас)
В отличие от чисто bind-mount изменений (ср. ORCH-048), ORCH-044 меняет
**рантайм-код `src/`**, который копируется в образ (`/app/src`) и исполняется
прод-процессом:
| Файл | Тип | Как доезжает до прода |
|------|-----|------------------------|
| `src/preflight.py` | runtime (в образе) | требует **rebuild + restart** контейнера |
| `src/agents/launcher.py` | runtime (в образе) | требует **rebuild + restart** контейнера |
| `src/config.py` | runtime (в образе) | требует **rebuild + restart** контейнера |
| `docs/**`, `CHANGELOG.md` | docs | мерж в `main` |
| `tests/**` | тесты, не деплоятся | n/a |
`rebuild_required: true`. Чтобы новый token-free auth-гейт preflight и
«пустой лог ⇒ провал» вступили в силу на проде, прод-инстанс `orchestrator`
(8500) должен быть пересобран и перезапущен. **Это делает Владелец через
деплой-хук после мерджа**, не данный агент.
## Self-hosting policy
> ORCH-044 правит слой запуска агента (preflight/launcher/config) того самого
> инструмента, который СЕЙЧАС обслуживает все прод-проекты (orchestrator +
> enduro-trails) из одного инстанса `orchestrator:8500` с общей БД и общей
> очередью.
Поэтому в рамках этой стадии:
- **Прод-контейнер `orchestrator` (8500) НЕ трогался** — ни рестарта, ни
пересборки (групповой риск для всех проектов).
- **Деплой-хук** `scripts/orchestrator-deploy-hook.sh` (реальный docker/SSH)
**не запускался** этим агентом (не было явной инструкции Owner; зарезервирован
за ним, ORCH-36). У хука есть health-цикл (10×6с) + авто-rollback —
страховка на момент боевого rebuild+restart.
- **Страховка пройдена:** staging (8501, изолированная БД/реестр) — зелёный
перед прод-деплоем (ORCH-35).
## Deploy action
- **Prod rebuild/restart:** требуется (`src/` изменён), **не выполнен** этим
агентом (guardrail self-hosting). Выполняется Владельцем через деплой-хук
после мерджа в `main`.
- **Эффективный rollout:** мерж ветки в `main` → Owner запускает
`scripts/orchestrator-deploy-hook.sh` (прод-режим: `TARGET_SERVICE=orchestrator
TARGET_PORT=8500 COMPOSE_PROFILE=""`) с health-check + авто-rollback.
## Verdict
`deploy_status: SUCCESS` — все гейты зелёные, артефакт-вердикт зафиксирован,
боевой rebuild+restart делегирован Owner-хуку. Прод-инстанс не затронут.