auto-sync: 2026-06-05 22:30:01

This commit is contained in:
Stream
2026-06-05 22:30:01 +03:00
parent ed21be51e1
commit d3daf5f9a3

View File

@@ -747,4 +747,13 @@ Dev (session orch9_docs_canon) отработал, я проверила не с
### 🛠️ Инфра-грабли прода (05.06)
- **В контейнере `orchestrator` НЕТ `curl` и НЕТ `sqlite3`** — запросы к Gitea/Plane/БД делать через `python3 -c` (urllib + sqlite3-модуль).
- **Таблица `tasks`: нет колонок `status`/`role`** — реальные: `id, plane_id, repo, branch, stage, agent_running, work_item_id, plane_issue_id, tracker_message_id, title, brd_review_started_at, brd_review_ended_at`. Статус задачи = `stage` + Plane-state; статус job — в таблице `jobs` (колонка `agent`, не `role`).
- **Создание задачи Plane через скрипт:** писать .py на проде через `ssh cat > /tmp/x.py` (НЕ локальный heredoc+scp — разные хосты!) `docker cp``docker exec python3`.
- **Создание задачи Plane через скрипт:** лучший способ — написать .py локально → `base64 -w0``ssh "echo <b64> | base64 -d > /tmp/x.py"``docker cp``docker exec python3`. **base64 полностью обходит экранирование кириллицы/скобок** (heredoc с кириллицей и `(` падает с `Syntax error`). Локальный heredoc+scp НЕ работает — разные хосты.
### 🔁 ORCH-17 — петля dev↔review↔testing и разбор с Славой (05.06 вечер)
- После пинка CI-гейта задача нарезала круги и упёрлась в **`max retries reached`** (MAX_DEVELOPER_RETRIES=3, stage_engine.py:56). Встала на development, ждёт человека.
- **Два разных заворота в петле:** (a) tester FAIL `check_tests_passed: No machine-readable verdict/status`; (b) reviewer `REQUEST_CHANGES` — governance: дев протащил правку **shared quality-gate** `src/qg/checks.py` в косметическую задачу про ссылки (влияет на ВСЕ проекты общего прода, требует ADR по CLAUDE.md правило 2).
- **Ключевой вывод про правку гейта:** дев починил РЕАЛЬНЫЙ баг ядра — `_parse_tests_verdict` читал только `verdict:/status:`, а промпт тестера велит писать `result: PASS`. Честный тестер → ложный FAIL → петля. Т.е. дев прав по сути, reviewer прав процедурно (shared-инфра без ADR).
- **Почему дев не понял ревьюера (корень для ORCH-46):** орк при REQUEST_CHANGES шлёт деву только *"Fix findings in 12-review.md"* — без текста претензий (испорченный телефон); + противоречивые сигналы (tester "чини тесты" vs reviewer "не трогай gate"); + нет памяти между кругами (каждый dev = новый чистый агент).
- **Решение Славы (вариант А):** из ORCH-17 убрать правку гейта (оставить только ссылки), фикс гейта — отдельной задачей следующей.
- **Новые задачи:** ORCH-46 (id `beaab0e7-eb49-41b9-b5e5-8d7246a3d9f1`, Backlog, high) — передача замечаний деву; **ORCH-47** (id `89d9a4b3-f80c-4387-b6f1-97b1f6dc9113`, Backlog, high) — фикс `check_tests_passed` читать `result:` (с ADR, идёт следующей, готовый код-референс уже в ветке ORCH-017).
- **Дотолкивание ORCH-17:** Dev-агент откатывает 2 файла к origin/main (`src/qg/checks.py`, `tests/test_qg.py`), остальное (ссылки/доки/ADR) остаётся → потом пинок гейта.