auto-sync: 2026-06-07 21:00:01

This commit is contained in:
Stream
2026-06-07 21:00:01 +03:00
parent 680cad3b22
commit d284faa426

View File

@@ -207,3 +207,28 @@ zombie/lease лечатся сами, post-deploy мониторинг рабо
P2: ORCH-57/51. Следующий тест: пройдёт ли НОВАЯ задача весь путь до прода ПОЛНОСТЬЮ
САМА (reaper должен дотащить merge без меня).
- rollback-снимок текущего прода: orchestrator-orchestrator:rollback-pre-065.
## ORCH-22 (security-гейт) — тест АВТОНОМНОСТИ + важный урок CI
Дала ORCH-22 ехать САМОЙ (не перехватывая) — чтобы увидеть реальную границу
автономности. Результат:
- Конвейер доехал до development и ВСТАЛ на красном CI. Конвейер ПРАВИЛЬНО не пустил
(CI red = страж), НО сам не разобрался «почему» и не починил → граница автономности:
пайплайн ведёт/блокирует, но диагностика CI-fail + точечный фикс — пока на мне.
- **Причина CI-red = РЕАЛЬНЫЙ баг dev-теста** (не инфра, не флак): test_tc17 лез
в реальный shared путь /repos/_wt/enduro-trails (тест ставил ORCH_REPOS_DIR=tmp, но НЕ
переопределял worktrees_dir, дефолт /repos/_wt) → PermissionError в CI (путь под root).
Локально прав хватало → 772 passed; в CI 1 failed. Фикс (Dev opus 4.8, bdd0355): tmp_path +
monkeypatch git_worktree.settings.worktrees_dir. CI → success.
### 🔴 КРИТИЧЕСКИЙ УРОК: CI red ≠ локально → СРАЗУ тянуть СЫРОЙ CI-лог
Потратила ~1.5ч впустую, гоняя «772 passed локально» и перезапуская Gitea/CI вслепую.
НАДО БЫЛО СРАЗУ вытащить точную красную строку из лога Gitea Actions:
```
sg docker -c 'docker exec gitea cat /data/gitea/actions_log/admin/orchestrator/<XX>/<TASKID>.log.zst' > /tmp/ci.zst
pip install zstandard; python3 -c \"import zstandard,sys;print(zstandard.ZstdDecompressor().stream_reader(open('/tmp/ci.zst','rb').read()).read().decode())\"
```
Путь лога: /data/gitea/actions_log/admin/orchestrator/<2буквы>/<task_id>.log.zst (task_id из actions/tasks API).
Лог дал точную строку за минуту. **Правило: CI red + локально зелёно → ПЕРВЫМ делом
распаковать .log.zst, НЕ воспроизводить локально и НЕ перезапускать вслепую.**
- Дефект-паттерн (запомнить): тест ставит ORCH_REPOS_DIR=tmp, но get_worktree_path резолвит
от settings.worktrees_dir (ОТДЕЛЬНЫЙ дефолт /repos/_wt) → надо monkeypatch ОБА пути.