auto-sync: 2026-06-04 01:30:01
This commit is contained in:
@@ -317,3 +317,32 @@ PR #12 (status-only verdict, баг3 эхо-самоудар) → PR #13 (баг
|
||||
### Хвост на следующую сессию:
|
||||
- Следить за developer (run 65) + CI: дойдёт ли до review/testing/deploy.
|
||||
- Старые разделы ORCHESTRATOR_DOCS про `:approved:`/`:rejected:` комментом — переписаны на status-only, но перепроверить остаточные упоминания в нижней части файла (~стр.100+).
|
||||
|
||||
---
|
||||
|
||||
## Баги 5-6 закрыты (03.06 вечер) — конвейер дошёл до честного CI-гейта
|
||||
|
||||
### Баг 5 (PR #16, main 994f73a): QG check_tests_local зависел от `make` (нет в контейнере)
|
||||
- `src/qg/checks.py` check_tests_local: `["make","test"]` → `["python","-m","pytest","../../tests/","-v"]`, cwd=`<repo>/src/api` (1:1 с Makefile цели test). Коммит `90c9ffe`.
|
||||
- Тесты: 213 passed + 9 baseline. Боевой прогон: make-бага ушла, но вылез баг 6.
|
||||
|
||||
### Баг 6 (PR #17, main 7922f6b): локальный QG дублировал CI + гонял тесты enduro-trails в окружении оркестратора без зависимостей (lxml/shapely/defusedxml → ModuleNotFoundError)
|
||||
- **Задумка check_tests_local изначально:** S-1 затычка эпохи «Gitea CI не настроен → always false». CI теперь настроен (.gitea/workflows/ci.yml) → затычка устарела, дублирует check_ci_green в кривом окружении.
|
||||
- **Вариант 1 (выбран Славой):** довериться CI.
|
||||
- `src/stages.py:16` development QG: `check_tests_local` → `check_ci_green`.
|
||||
- `src/webhooks/gitea.py` ~219: снято подавление CI-failure, теперь `state==failure && stage==development` → notify_qg_failure.
|
||||
- `check_tests_local` НЕ удалён, помечен DEPRECATED, остался в QG_CHECKS, не wired ни к одной стадии.
|
||||
- Коммит `e15d339`. Тесты: 215 passed + 10 failed (9 baseline + 1 новый webhook-тест на том же 401 HMAC-барьере — среда, не логика).
|
||||
- Деплой ✅, `get_qg_for_stage("development")=="check_ci_green"` подтверждён на проде.
|
||||
|
||||
### 🎯 Боевой прогон ET-011 (task 29): конвейер РАБОТАЕТ КАК ЗАДУМАНО
|
||||
- Прямой вызов `handle_ci_status(success)` → `check_ci_green` (double-check API) → **False: CI state: failure** → справедливо НЕ пропустил development→review. Логика верна.
|
||||
- **Реальный CI ET-011:** lint=failure (ruff стиль), test=**success** (тесты в правильном окружении ПРОХОДЯТ!), build=skipped.
|
||||
- Т.е. конвейер уперся не в свой косяк, а в РЕАЛЬНОЕ качество кода — линтер честно краснит на стиле. Здоровое состояние.
|
||||
|
||||
### Хвост на след. сессию:
|
||||
- task 29 стоит в development, CI красный ТОЛЬКО из-за ruff lint (тесты зелёные).
|
||||
- Развилка: (A) developer-retry чтобы сам починил lint, или (B) глянуть на что ruff ругается. Слава склонялся глянуть ruff сначала.
|
||||
- HMAC webhook через curl/shell даёт 401 (подпись от raw body не сходится при shell-сериализации) — для боевых прогонов дёргать обработчики напрямую в python (docker exec orchestrator python3), а не через HTTP.
|
||||
|
||||
### Итог сессии 03.06: закрыто 6 багов (PR #12-#17), конвейер прошёл analysis→architecture→development end-to-end, дошёл до честного CI-гейта на качестве кода.
|
||||
|
||||
Reference in New Issue
Block a user