auto-sync: 2026-06-05 17:30:01
This commit is contained in:
@@ -534,3 +534,50 @@ Dev (session orch9_docs_canon) отработал, я проверила не с
|
||||
- Прод: контейнер `orchestrator`, image `orchestrator-orchestrator`. SSH: `sshpass -p 'motoZ@yaz2010' ssh slin@82.22.50.71`. compose `/home/slin/repos/orchestrator/docker-compose.yml`.
|
||||
|
||||
### Эталон enduro для канона: `/home/slin/repos/enduro-trails/` — CLAUDE.md, docs/architecture/, .openclaw/agents/*.md (6 ролей).
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 🔧 ORCH-16 деплой + ORCH-39 (тесты/CI) — финал дня (05.06 вечер)
|
||||
|
||||
### ORCH-16: done ≠ в проде (важное различие)
|
||||
- ORCH-16 в Plane = `done`, НО фича в прод НЕ выкачена. deploy-staging прошёл (`staging_status: SUCCESS`, коммит `053ea3b` — только docs, merge staging-log в main).
|
||||
- Фича-код `0663da6` (единый формат коммента + строка длительности) — только в ветке `feature/ORCH-016-plane`. **PR #34 ОТКРЫТ, не влит.**
|
||||
- Прод на 8500 работает на СТАРОМ коде. Это правильный предохранитель self-hosting: орк не мержит/не ребилдит себя сам без ОК Славы.
|
||||
|
||||
### Ревью PR #34 лично (вердикт)
|
||||
- +3452/-112, 27 файлов. Боялась мусора за $13.68 — оказалось код ГРАМОТНЫЙ.
|
||||
- `build_status_comment()` — единая точка для всех ролей. Обратная совместимость сохранена (старые `usage_comment`/`artifact_links` не удалены). `frontmatter.py` — защитный ридер, никогда не падает.
|
||||
- 43 теста ORCH-16 — зелёные.
|
||||
- НО: 4 теста падали (`test_m6_sequence.py` ×2, `test_plane_webhook.py` ×2) — НЕ вина ORCH-16, пришли с ORCH-10 (PR #33), отставший контракт.
|
||||
|
||||
### Типы item в Plane (этот инстанс) — проверено через API
|
||||
- ❌ Epics = 404, issue-types/work-item-types = 404 (кастомные типы выключены)
|
||||
- ✅ `parent` у issue → sub-issues (под-задачи) РАБОТАЮТ
|
||||
- ✅ `modules` (≈эпики), `cycles` (спринты) — есть, но пусты (n=0)
|
||||
- Декомпозиция: через `parent` + `modules`, не через Epic→Story→Task типы.
|
||||
|
||||
### ORCH-39: починка отставших тестов + дыра CI
|
||||
- Завела ORCH-39 (id `7c061055`, Backlog) — для трекинга. Исполнение НЕ конвейером, а **Dev напрямую** (принцип ORCH-38: не жечь $15-20 на правку 4 тестов).
|
||||
- **Корень падений (диагноз мой):** тесты хардкодят `_IN_PROGRESS = "b873d9eb..."` (ET in_progress UUID) для запросов по ORCH-проекту. После ORCH-10 `get_project_states(ORCH)["in_progress"]` = `e331bfb3`, не совпадает → pipeline не стартует → задача не создаётся → assert падает. Тесты отстали от per-project резолвинга, код прода правильный.
|
||||
- ТЗ: `tasks/orchestrator/DEV_TASK_ORCH39_FIX_WEBHOOK_TESTS.md` (точные UUID-карты ET/ORCH, точки мока, off-limits src/).
|
||||
|
||||
### Per-project state UUID (ЗАФИКСИРОВАТЬ — пригодятся)
|
||||
- **ET (enduro-trails):** in_progress=`b873d9eb-993c-48cd-97ac-99a9b1623967`, approved=`a519a341-dada-4a91-8910-7604f82b79c5`, rejected=`ba958f3c-5db5-461d-8f82-89425e413b97`
|
||||
- **ORCH (orchestrator):** in_progress=`e331bfb3-e17e-4699-ba48-4abb89c21b7b`, approved=`63f2c8fe-dcda-4ace-952f-dd88bd0118ff`, rejected=`4c769e90-bf80-4a52-b97a-e1c84904bfc3`
|
||||
|
||||
### Dev фейл на биллинге → перезапуск
|
||||
- Первый Dev упал: кончились кредиты дефолтной vibecode-модели. Перезапустила с `tokenator/claude-opus` явно. (Урок: при billing-фейле Dev — сразу перезапуск с tokenator-моделью.)
|
||||
|
||||
### PR #35 (ORCH-39) — проверено лично
|
||||
- `fix/ORCH-39-webhook-tests` → main, mergeable, НЕ смержен. +87/-9, 5 файлов. src/ НЕ тронут (только tests/ + pytest.ini + requirements.txt + ci.yml).
|
||||
- Мой прогон: `342 passed, 0 failed, 0 skipped` (было 336 passed/6 skipped/4 failed).
|
||||
- **БОНУС-находка Dev (глубже моей):** в `requirements.txt` не было `pytest-asyncio` → 6 async-тестов `test_orch10_states.py` МОЛЧА скипались. То есть async-пути ORCH-10 (per-project старт конвейера) вообще не проверялись, CI светил зелёным. Теперь pytest-asyncio добавлен, `asyncio_mode=auto`, `--strict-markers`, ci.yml `set -euo pipefail`. Те 6 тестов теперь PASSED.
|
||||
|
||||
### Порядок мержа (ждёт ОК Славы — НЕ мержу сама)
|
||||
1. PR #35 (ORCH-39) → main (база честно зелёная)
|
||||
2. PR #34 (ORCH-16) → main (фича единого коммента)
|
||||
3. Ребилд прод-контейнера на 8500 → фича реально заработает
|
||||
|
||||
### Урок: CI-гейт был дырявым на самой важной логике
|
||||
- Две дыры в одном месте: (а) красные тесты пропускались, (б) async-тесты скипались из-за отсутствия pytest-asyncio. Оба светили зелёным CI. Для self-hosting честный гейт качества критичен — теперь закрыто в PR #35.
|
||||
|
||||
Reference in New Issue
Block a user