auto-sync: 2026-06-04 02:00:01
This commit is contained in:
@@ -369,3 +369,34 @@ PR #12 (status-only verdict, баг3 эхо-самоудар) → PR #13 (баг
|
||||
- Лимит retry: после 3 попыток developer'а суммарно (review+CI) — эскалация Славе.
|
||||
|
||||
### ИТОГ сессии 03.06: закрыто 7 БАГОВ (PR #12-#18). Конвейер: analysis→architecture→development end-to-end + честный CI-гейт + АВТОНОМНОЕ самовосстановление на красном CI с лимитом попыток. Боевая обкатка на ET-011.
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Документация багов 5-7 + точная причина красного CI (03.06 ночь, конец сессии)
|
||||
|
||||
### Точная причина красного CI на ET-011 (диагностирована вживую)
|
||||
- Прогнала `ruff check src/` (скопировав src в /tmp, без кэша — worktree принадлежит контейнеру, permission denied на кэш; ruff есть на ХОСТЕ ~/.local/bin/ruff 0.15.13, в КОНТЕЙНЕРЕ оркестратора ruff НЕТ — то же окружение что lxml).
|
||||
- **Единственная придирка: E402 «module level import not at top of file», 10× в ОДНОМ файле `src/api/main.py`.** developer добавил импорт (shapely.geometry LineString для ET-011) не в шапку, а ниже кода (видимо после sys.path/константы ~стр.20-21).
|
||||
- **Вердикт: косметика, не баг кода.** Тесты зелёные, краснит только стиль. Чинится: поднять импорты в шапку ИЛИ `# noqa: E402` (если поздний импорт намеренный после sys.path.insert).
|
||||
|
||||
### Документация записана в ORCHESTRATOR_DOCS.md (дополнено, НЕ затёрто)
|
||||
1. **Pipeline + Quality Gates таблицы:** выход development гейтится `check_ci_green` (зелёный→review, красный→retry). `check_tests_local` помечен DEPRECATED (в реестре QG_CHECKS для совместимости, не подключён к стадиям). Принцип: оркестратор НЕ гоняет тесты чужих проектов в своём контейнере — это делает Gitea CI в правильном окружении.
|
||||
2. **Раздел «Механизмы автономности» → новый блок Retry (CI fail):** красный CI → notify_qg_failure → возврат developer'у (attempt N/3), лимит ОБЩИЙ с review (review+CI вместе ≤3), потом эскалация. Помечено ✅ проверено боевым прогоном.
|
||||
3. **Новый раздел «🐛 Баги QG-гейта development (PR #16–#18)»** — таблица баг/PR/корень/фикс для багов 5/6/7.
|
||||
4. **Changelog:** записи PR #16 (баг5 make→pytest), #17 (баг6 drop local QG→check_ci_green), #18 (баг7 CI-fail→developer retry). Шапка обновлена.
|
||||
|
||||
### Wiki + онтология
|
||||
- `openclaw wiki ingest` прогнан после правок доков (правило: ingest после изменений в проектах).
|
||||
- Онтология: предложила Славе занести баги 5-7 как записи проекта orchestrator — ждёт ответа (на момент flush не подтверждено).
|
||||
|
||||
### Хвост (актуально на след. сессию)
|
||||
- developer run 66 чинит E402 в src/api/main.py. Следить: починит→перезапушит→зелёный CI→development→review автономно.
|
||||
- Эпизод сбоев обработки turn (#16540 и повтор по PR #17/#18 completion event) — отвечала заново коротко, событие было дублем уже обработанного. NO_REPLY на повторные internal completion events корректен.
|
||||
- HMAC webhook через shell-curl = 401 (подпись от raw body не сходится при shell-сериализации). Для боевых прогонов — дёргать обработчики напрямую в python (`docker exec orchestrator python3 -c "import asyncio; from src.webhooks.gitea import handle_ci_status; asyncio.run(...)"`), НЕ через HTTP. Записано как рабочий приём.
|
||||
|
||||
### Все хэши/PR сессии 03.06 (для истории)
|
||||
- PR #12 status-only (баг3) | #13 баги A/B/C | #14 gitea_public_url | #15 баг4 Approved→advance (merge b6aa107)
|
||||
- PR #16 баг5 make→pytest (merge main 994f73a, `fix(qg): run pytest directly instead of make`)
|
||||
- PR #17 баг6 drop local QG (commit e15d339, merge main 7922f6b, `fix(qg): use check_ci_green instead of local tests on development stage`)
|
||||
- PR #18 баг7 CI-fail retry (commit 3a285de, merge main a0621b9, `fix(ci): bounce task back to developer on red CI (capped retries)`)
|
||||
|
||||
Reference in New Issue
Block a user