auto-sync: 2026-06-06 22:00:02

This commit is contained in:
Stream
2026-06-06 22:00:02 +03:00
parent 27bfd96ff8
commit eaedceef08

View File

@@ -157,6 +157,21 @@
- На каждом heartbeat: `docker exec orchestrator python3 /tmp/orch_watch.py` → активные ORCH (stage!=done) + очередь (queued/running) + последние failed/transient. State: `memory/heartbeat-state.json`.
- ⚠️ Ограничение: heartbeat = таймер, НЕ push. Между событием и докладом до 30 мин (это и есть баг ORCH-56).
### ORCH-43 (merge-gate feature→main) — В ПРОДЕ ✅ (18:42 UTC)
- Конвейер прошёл (task 42), регрессия прав починена (см. выше ORCH-57). Review APPROVED (0 блокеров), 535 тестов passed.
- **Код:** `src/merge_gate.py` (+340: branch_is_behind_main, auto_rebase_onto_main, retest_branch, file-lease), stage_engine +180, qg/checks +82 (check_branch_mergeable на deploy-staging→deploy edge), db/config/webhooks. +2689/-7, 29 файлов.
- **Мерж PR #54:** ⚠️ **ВАЖНО — Gitea merge auth:** хедер ДОЛЖЕН быть `Authorization: token <ORCH_GITEA_TOKEN>` (формат `token `, как в орке stage_engine.py:118). НЕ маскировать токен `***`-плейсхолдером — он подставляется буквально → 401! POST `/repos/admin/orchestrator/pulls/{N}/merge` body `{"Do":"merge"}`. Скрипт: `temp/merge_pr54.py`.
- **Деплой (ручной, rebuild+restart):** `git pull``docker compose build orchestrator``up -d` → health+preflight. Скрипт с авто-откатом: `temp/deploy_orch43.sh`. Проверки: merge_gate.py в контейнере yes, uid 1000, health ok, preflight True. main `c21a279`.
- **Эффект:** конвейер теперь САМ мержит feature→main (свежесть+rebase+re-test). Последний ручной мерж позади.
- ⚠️ **Ирония:** ORCH-43 чинит «код не вливается в main» — и сама в это упёрлась (deploy SUCCESS бумажный, мерж ручной). Это же — корень ORCH-36.
### ORCH-36 (исполняемый деплой) — РАЗВЕДКА + запуск
- **Корень:** стадия deploy СЕЙЧАС = бумажная. deployer-агент (`.openclaw/agents/deployer.md` — промпты агентов В РЕПО!) только пишет 14-deploy-log.md с deploy_status:SUCCESS. Реального build+restart+health НЕТ.
- **Маркер в коде:** deployer.md: «Real docker/SSH deploys are handled by `scripts/orchestrator-deploy-hook.sh` (ORCH-36)» — скрипта ЕЩЁ НЕТ.
- **🔴 ГЛАВНАЯ МИНА (self-hosting):** прод-контейнер orchestrator (8500) — ОДИН на ВСЕ проекты, и В НЁМ сам deployer бежит. НЕЛЬЗЯ `docker compose up -d orchestrator` из контейнера — убьёт себя. Решение: detached-хук на хосте (nohup/systemd-run/at через docker.sock gid 999 или ssh), рестарт ПОСЛЕ выхода агента.
- **Scope:** создать `scripts/orchestrator-deploy-hook.sh` (pull→build→up→health→auto-rollback), self-путь detached, deploy_status из реального исхода, для не-self — ssh DEPLOY_SSH_*. Скрипт запуска: `temp/launch_orch36.py`.
- **Промпты агентов (ВАЖНО!):** `.openclaw/agents/*.md` в репо (analyst/architect/developer/reviewer/tester/deployer) — версионируются, правятся конвейером.
### Прод-доступ (закрепить)
- `slin@82.22.50.71`, пароль `motoZ@yaz2010`, ConnectTimeout=15. Репо `/home/slin/repos/orchestrator`. docker через `sg docker -c`.
- Plane In Progress state id = `e331bfb3-e17e-4699-ba48-4abb89c21b7b` (flip туда = автозапуск конвейера через webhook). Проект ORCH id `8da6aa25-a60e-44d6-a1e2-d8ae59aa7d6a`.