4.2 KiB
4.2 KiB
2026-06-03
Orchestrator — ORCH-1b resilience ГОТОВ + проверен на проде (продолжение дня 02.06)
Итог: PR #3 = ORCH-1 очередь + ORCH-1b resilience — готов к мержу, ждёт ОК Славы
Resilience-слой проверен мной вживую на проде (не на слово):
- ✅ Preflight —
/queue→preflight ok: True, reason2.1.142 (Claude Code).claude --version, токены НЕ тратит. CLI мёртв → job ждёт в очереди, не падает. 🚫 без prompt-ping - ✅ 429-классификатор (
error_classifier.py) — живьём:429→transient,overloaded→transient, traceback→permanent - ✅ Backoff — exp
min(2^n*10,600)+available_at/transient_attemptsколонки + Retry-After, PRAGMA-safe миграция (_ensure_column) - ✅ Circuit breaker (
queue_worker.py CircuitBreaker) —/queueотдаётresilience.breaker(closed/open/half-open, счётчик, pause_remaining). 3 transient → open 300с, CLI не дёргаем, алерт → half-open проба → closed - ✅ config: 6 ключей (preflight_cache_ttl=45, backoff_base=10, backoff_max=600, transient_max=5, breaker_threshold=3, breaker_pause=300)
- ✅ 110 passed (26 новых resilience-тестов), 9 fail — те же pre-existing 401 baseline
- ✅ Контейнер пересобран из ветки
feature/ORCH-1-job-queue, health ok, PR #3 mergeable:True
Метрики Dev
orch1_queue(база): done, 12m26s, 337k токеновorch1b_resilience: done, 9m42s, 260k токенов, 7 коммитов поверх базы (запушены)
⚠️ Урок про Dev (важный)
Dev запаниковал на старте orch1b: «параллельная сессия пишет те же файлы прямо сейчас!» → остановился из осторожности (safety>completion). Ложная тревога — другого исполнителя не было, он принял СВОЮ активность за чужую (mtime менялись из-за его же записей). По факту всё доделал, закоммитил и запушил сам. Я только пересобрала контейнер + проверила вживую.
- Правило: при «остановился из осторожности» от Dev — не верить на слово что не сделано; проверять
git log/git status/remote. Часто работа УЖЕ сделана и запушена.
Документация обновлена
tasks/orchestrator/PROGRESS_2026-06-02.md— ORCH-1b помечен 🟢 готов + результаты живой проверкиtasks/orchestrator/STATUS.md— актуальный статусMEMORY.md— статус orchestrator обновлён- На сервере Dev:
docs/ARCHITECTURE.md,docs/ORCH-1_JOB_QUEUE.md(раздел resilience),reports/dev-2026-06-02-orch1b-resilience.md
Ждёт ОК Славы
- Мержить PR #3 (очередь + resilience) в main? После мержа орк = автономный (webhook) + безопасный (multi-repo ORCH-6) + надёжный (очередь restart-safe + retry + 429-устойчивость)
- Висят: PR #19 (enduro-trails), PR #1 (orchestrator worktree) — мержить?
Бэклог orchestrator
- ORCH-3 (S-2/S-3 rollback), ORCH-4 (M-3 stage-engine), ORCH-5 (M-7 idempotency/webhook dedup)
Ключевые идентификаторы (для продолжения)
- Хост
slin@82.22.50.71, репо/home/slin/repos/orchestrator, контейнерorchestrator(8500) - Ветка PR #3:
feature/ORCH-1-job-queue - Деплой:
docker compose up -d --build && sleep 6 && curl -s :8500/health && curl -s :8500/queue - Тесты в контейнере:
IMG=$(docker inspect orchestrator --format '{{.Config.Image}}'); docker run --rm -v /home/slin/repos/orchestrator:/code -w /code --entrypoint python3 $IMG -m pytest tests/ -q - ТЗ:
tasks/orchestrator/DEV_TASK_ORCH1_QUEUE.md(раздел ДОПОЛНЕНИЕ A-D)