auto-sync: 2026-06-05 09:50:01

This commit is contained in:
Stream
2026-06-05 09:50:01 +03:00
parent f4474f35bf
commit 504bac2e25
2 changed files with 53 additions and 0 deletions

View File

@@ -80,3 +80,17 @@
## Открытые мелочи (уточнить по ходу, не блокеры)
- N retry и timeout health-check прода (предлагаю 10 попыток × 6 сек = 60с).
- Ресурсы хоста под постоянный staging-контейнер (лёгкий, но 24/7).
## РАЗВЕДКА КОДА ДЛЯ ЭТАПА 5 (05.06, разведано Стрим)
**Архитектура стадий деплоя (как есть сейчас):**
- `stages.py` (54 стр, чистая декларация): `STAGE_TRANSITIONS` — цепочка `created→analysis→architecture→development→review→testing→deploy→done`. Стадия `deploy`: `{"next":"done","agent":"deployer","qg":"check_deploy_status"}`.
- `stage_engine.py` (24KB) — движок переходов. Строка ~525: БАГ-8 фикс — при `deployer` вердикте FAILED откат `deploy→development`. Строка ~260: terminal sync deploy→done форсит Plane в Done.
- `qg/checks.py:350` `_parse_deploy_status` — читает ТОЛЬКО `deploy_status:` из YAML-frontmatter `14-deploy-log.md` (SUCCESS→pass, FAILED→fail, нет поля→fail). `_deploy_log_from_main` (:374) — достаёт файл из `origin/main` (deployer мержит артефакты отдельным PR).
- **deployer-агент** (LLM) пишет вердикт в `docs/work-items/<wi>/14-deploy-log.md`. Промпты deployer — в `src/agents/launcher.py` (НЕ отдельные файлы).
- ⚠️ **Реального docker-деплоя через хост-хук в коде НЕТ** — deployer-вердикт сейчас «бумажный» (LLM пишет SUCCESS/FAILED, но docker не дёргается). Хук ORCH-34 существует, но конвейер его пока не вызывает.
**ПЛАН ЭТАПА 5 (ORCH-35) — встройка `deploy-staging`:**
- Вариант A (минимальный, безопасный, ПРЕДЛАГАЕМЫЙ): добавить стадию `deploy-staging` в `STAGE_TRANSITIONS` МЕЖДУ `testing` и `deploy` (`testing→deploy-staging→deploy→done`), со своим QG `check_staging_status` (по образцу `check_deploy_status`: парсит `staging_status:` из нового `XX-staging-log.md`). deployer-агент на этой стадии гоняет `staging_check.py` (из ORCH-33) против 8501 и пишет вердикт. При FAILED — откат на `development` (как deploy). Это «ворота»: прод-деплой (`deploy`) недостижим, пока staging-гейт не зелёный.
- Вариант B (полный, позже): стадия `deploy` реально дёргает хост-хук `orchestrator-deploy-hook.sh` через ssh с `DEPLOY_REQUIRE_MANUAL_APPROVE=true` (хук тормозит, ждёт «go» Славы). Это уже исполняемый самодеплой — отдельная осторожная задача после A.
- **off-limits Этапа 5:** НЕ ломать существующие QG (`check_deploy_status`, БАГ-8 rollback), `_parse_deploy_status`, terminal-sync deploy→done. Только ДОБАВИТЬ стадию+QG, не переписывать существующие. tests/ обновить под новую цепочку.
- **Решение по объёму Этапа 5 — за Славой:** делать сразу A+B (полный самодеплой с хуком) или только A (staging-гейт как ворота, без авто-дёрганья хука)? Рекомендация Стрим: **сначала A** (ворота-гейт, безопасно, тестируемо в песочнице), B — отдельным осознанным шагом.