ORCH-109: timeout budgets developer/reviewer + launch-time model telemetry #129
Reference in New Issue
Block a user
Delete Branch "feature/ORCH-109-orch-timeout-budgets-launch-ti"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
ORCH-109 — timeout budgets + launch-time model telemetry (developer/reviewer)
Две аддитивные изолированные правки подсистемы запуска агентов (инцидент ORCH-104, runs 658/659/660), без касания
STAGE_TRANSITIONS/QG_CHECKS/check_*/ machine-verdict / схемы БД.Что сделано
resolve_agent_model(...)пишется вagent_runs.modelв момент launch объединённымUPDATE agent_runs SET model=?, effort=? WHERE id=?рядом со стампом эффорта (ORCH-087) вlauncher._spawn. Модель присутствует с launch, переживает timeout-kill (exit_code=-9), видна in-flight вGET /metrics/GET /queueи в строке Telegram-карточки. Постфактумrecord_usage(model=COALESCE(?, model)) остаётся обогащением. Пустой резолв →NULL. never-raise.agent_timeout_developer_s=3600/agent_timeout_reviewer_s=3000(envORCH_AGENT_TIMEOUT_DEVELOPER_S/_REVIEWER_S). Лестница_resolve_timeout:agent_timeout_overrides_json[agent]→ выделенный ключ роли →agent_timeout_seconds=1800(прочие роли — байт-в-байт). Малформный/непозитивный конфиг → дефолт + WARNING (never-break). Инвариант reaper ORCH-065 сохранён синхронным поднятиемreaper_max_running_s3600 → 5400 (5400 > 3600+20=3620).if exit_code == 0; timeout-kill →_finalize_jobretry/fail, не advance); зафиксированы регресс-тестами, новых ветвей нет.Покрытие
tests/test_orch109_timeout_model.py(TC-01…TC-12, детерминированный, без сети/CLI) — 25 тестов, зелёные.tests/test_config.py(reaper-дефолт 5400) иtests/test_launcher.py(ладдер_resolve_timeout).pytest tests/— 1898 passed.Документация (в том же PR)
.env.example(блок agent-timeout + reaper), паспортconfig.py,CHANGELOG.md,CLAUDE.md,docs/architecture/README.md+internals.md(per-role бюджеты). Также исправлена дублированная вставка тела записи ORCH-105 вCHANGELOG.md.AC
AC-1…AC-10 покрыты (см.
docs/work-items/ORCH-109/03-acceptance-criteria.md).ADR:
docs/work-items/ORCH-109/06-adr/ADR-001-agent-timeout-budgets-and-launch-model-stamp.md, сквознойdocs/architecture/adr/adr-0040-agent-timeout-budgets-and-launch-model-stamp.md.Refs: ORCH-109
🤖 Generated with Claude Code
Адресован единственный P1-finding ревью (12-review.md):
README.mdраздел «### Watchdog» приведён в соответствие сdocs/architecture/internals.md— per-role бюджеты (developer 60м / reviewer 50м / прочие 30м дефолт,_resolve_timeout, ORCH-109) + Tier-3 backstopreaper_max_running_s=90м. CHANGELOG-список доков синхронизирован. Docs-only:src/**не тронут; локальноtest_system_docs.py/test_config.py/test_launcher.py/test_orch109_timeout_model.py— 104 passed. Commit91d56fe.781cdd6a6ato8628e609d9