Files
wiki/memory/2026-06-03.md
2026-06-03 08:10:16 +03:00

4.2 KiB
Raw Blame History

2026-06-03

Orchestrator — ORCH-1b resilience ГОТОВ + проверен на проде (продолжение дня 02.06)

Итог: PR #3 = ORCH-1 очередь + ORCH-1b resilience — готов к мержу, ждёт ОК Славы

Resilience-слой проверен мной вживую на проде (не на слово):

  • Preflight/queuepreflight ok: True, reason 2.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)