auto-sync: 2026-06-03 00:20:01
This commit is contained in:
@@ -152,11 +152,12 @@ docker exec fr24-tracks-fr24 grep "flight-summary" /app/fr24_worker.py
|
||||
- **Инцидент дня:** создала ORCH-1..7 в Plane → webhook авто-запустил конвейер БЕЗ фильтра проекта → мусор ET-010..016 в `enduro-trails`. Подход стоп→чистка→защита→root-fix.
|
||||
- ✅ **ORCH-6 multi-repo (root fix)** замержен **PR #2** (`b021ff7`): реестр `src/projects.py` (Plane id→repo+prefix), фильтр webhook по проекту (unknown→ignored), resolve repo. Проверен на проде: HMAC + project-filter режут чужие проекты, задача не создаётся. **Plane-webhook включён обратно** (`is_active=t`) — теперь безопасно.
|
||||
- ✅ **ORCH-1 очередь задач** база готова **PR #3** (76 passed): таблица `jobs`, `queue_worker.py`, atomic claim, `max_concurrency`, ретраи, restart-safe (requeue running на старте), `/queue` эндпоинт. Заменил in-process daemon-потоки.
|
||||
- 🔄 **ORCH-1b resilience** (поверх PR #3): идея Славы про надёжность claude CLI. **A.** дешёвый preflight (`claude --version`, кэш 45с — токены НЕ жжёт, FAIL→job ждёт); 🚫 НИКАКОГО prompt-ping (трата лимита). **B.** 429 ловить на ВЫХОДЕ (паттерны в логе), классификатор transient/permanent. **C.** exp backoff + `available_at` + Retry-After. **D.** circuit breaker (3 fail→пауза 5мин, CLI не дёргаем, алерт→half-open).
|
||||
- ✅ **ORCH-1b resilience** ГОТОВ в PR #3 (110 passed, проверен на проде: `/queue` отдаёт breaker+preflight, preflight `claude --version` без трат токенов, классификатор 429→transient): идея Славы про надёжность claude CLI. **A.** дешёвый preflight (`claude --version`, кэш 45с — токены НЕ жжёт, FAIL→job ждёт); 🚫 НИКАКОГО prompt-ping (трата лимита). **B.** 429 ловить на ВЫХОДЕ (паттерны в логе), классификатор transient/permanent. **C.** exp backoff + `available_at` + Retry-After. **D.** circuit breaker (3 fail→пауза 5мин, CLI не дёргаем, алерт→half-open).
|
||||
- ⚠️ **Урок:** при дослыле уточнения в активную сессию Dev — проверять что оно вошло в КОД, а не только в отчёт «done» (resilience в базовый PR #3 НЕ попал).
|
||||
- ⚠️ **Урок:** тест-алерты Dev (синтетич. `repo r-retry`/job N) дёргают Славу в Telegram. Проверка реальности — `/queue` + прод-БД. TODO ORCH-1b: подавить нотификации в pytest.
|
||||
- ⚠️ **Грабли postgres-пароля Plane:** `\x27`-экранирование через ssh+docker ломается → SQL в файл + `psql -f`, пароль из env контейнера `plane-app-plane-db-1`.
|
||||
- **Висят:** PR #19 (enduro-trails), PR #1 (orchestrator worktree) — мержить? Бэклог: ORCH-3 (rollback), ORCH-4 (stage-engine), ORCH-5 (idempotency).
|
||||
- **Готово к мержу:** PR #3 (ORCH-1 base + ORCH-1b resilience) — ждёт ОК Славы. **Висят:** PR #19 (enduro-trails), PR #1 (orchestrator worktree) — мержить? Бэклог: ORCH-3 (rollback), ORCH-4 (stage-engine), ORCH-5 (idempotency).
|
||||
- ⚠️ **Урок:** Dev склонен к ложным тревогам «параллельная сессия пишет файлы» (принимает свою активность за чужую, mtime меняются). Проверять git log/remote — обычно он на самом деле всё довёл и запушил.
|
||||
|
||||
## Multi-Agent Orchestrator (enduro-trails)
|
||||
- **ЕДИНОЕ ИМЯ ВЕЗДЕ = `orchestrator`** (решено 02.06.2026):
|
||||
|
||||
Reference in New Issue
Block a user