Files
orchestrator/docs/overview
claude-bot 651b9af7c3 fix(merge-gate): tolerate re-test infra-timeout + tree-kill spawned pytest
Eliminate the false `deploy-staging -> development` rollback that fired when the
merge-gate local re-test timed out (infra/resource) on a green CI + tester +
staging branch (incident ORCH-109/PR #129: a 516.7s suite blew its 600s budget
under CPU starvation from orphaned pytest processes -> timeout misrouted as a
code fault -> developer-retry loop -> manual gate).

Additive, 5 independent kill-switches, never-raise, self-hosting scope. Untouched
byte-for-byte: STAGE_TRANSITIONS, the QG_CHECKS registry, check_branch_mergeable
name/semantics, machine-verdict keys, the DB schema. INV-4 (never push/force-push
main) and the no-prod-restart rule are preserved.

- D1: new stdlib-only leaf src/proc_group.py runs the spawned re-test/coverage
  pytest in its own process group (start_new_session) and tree-kills the WHOLE
  group on timeout (os.killpg SIGTERM->grace->SIGKILL); used by
  merge_gate.retest_branch and coverage_gate.measure_coverage. No orphan leak.
  Fallback never-break: subprocess_tree_kill_enabled=False / non-POSIX -> the
  prior subprocess.run.
- D2/D3: merge_gate.classify_retest_failure distinguishes timeout/red/lock-busy/
  other; an infra timeout routes to _handle_merge_gate_infra_retry (bounded
  re-queue, task stays on deploy-staging, no rollback / no developer-retry); a
  red re-test / conflict still rolls back (BR-6). Exhaustion -> one infra alert.
- D4: skip the local re-test when the pre-merge rebase was a proven no-op (HEAD
  already CI/tester/staging-validated); fail-safe runs the re-test on any
  uncertainty. Flag merge_retest_skip_when_current_enabled.
- D5: merge_retest_timeout_s 600 -> 900 + _resolve_retest_timeout validation;
  reaper_max_running_s invariant preserved without change.
- D6: in-process counters + read-only merge_gate block in GET /queue; appended
  ("ORCH-110","classify_retest_failure","src/merge_gate.py") to
  MAIN_REGRESSION_MARKERS. Docs (README/internals overview/CLAUDE/CHANGELOG/
  .env.example) updated in the same PR.

Tests: tests/test_orch110_*.py (TC-01..TC-12, incl. the red-before/green-after
incident regression). Full suite green (1988 passed).

Refs: ORCH-110

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 10:42:34 +03:00
..

Витрина системы — Orchestrator

Что это за система. Orchestrator — автономная фабрика разработки: конвейер из шести ИИ-агентов (аналитик → архитектор → разработчик → ревьюер → тестировщик → деплойер), который проводит задачу от бизнес-постановки до выкладки на прод. Человек ставит задачу и принимает результат; всё между — автономно, под защитой машинных гейтов качества. Платформа ведёт несколько проектов из одного инстанса, дорабатывает сама себя (self-hosting) и тиражируется на новые хосты.

Зачем эта витрина. Это единая точка входа в документацию системы: связное описание на двух уровнях — бизнес (для нетехнического читателя) и технический (7 блоков), с маршрутами чтения для трёх аудиторий и слайдо-готовой основой для презентации. Витрина — обзор; за деталями она ведёт ссылками в инженерные golden sources, не подменяя их.


Состав витрины

Файл О чём
business.md Бизнес-уровень: проблема, решение, что умеет, ценность, сценарии
tech-architecture.md Блок 1: компоненты и связи, схема потока
tech-pipeline.md Блок 2: конвейер, стадии, гейты, откаты, человеческие гейты
tech-agents.md Блок 3: 6 ролей агентов, артефакты, модель/эффорт
tech-data-model.md Блок 4: каноническая модель объектов, словарь терминов
tech-integrations.md Блок 5: Plane, Gitea, LLM, Telegram
tech-quality-security.md Блок 6: гейты качества, безопасность, секреты
tech-observability.md Блок 7: наблюдаемость, аналитика, журнал уроков
presentation.md Слайдо-источник презентации + сборка .pptx

Маршруты чтения

Я заказчик

  1. business.md — проблема, решение, ценность.
  2. business.md → Сценарии использования — как это выглядит в работе.
  3. presentation.md — слайдовая версия рассказа (собирается в PowerPoint).
  4. Развернуть у себя: LITE_SETUP (своя инфраструктура) или BUNDLED_SETUP (весь стек одним комплектом).

Я менеджер проекта

  1. business.md — что платформа делает и где в процессе человек.
  2. tech-pipeline.md — конвейер, статусная модель Plane, человеческие гейты (одобрение постановки, подтверждение прод-деплоя).
  3. tech-observability.md — как следить за ходом: живая Telegram-карточка, статусы, стоимость.

Я разработчик

  1. Тех-блоки 1→7: архитектураконвейерагентымодель объектовинтеграциикачество/безопасностьнаблюдаемость.
  2. Инженерный справочник архитектуры и internals — детали реализации.
  3. Стандарты (структура доков конвейера), HANDOFF_PROTOCOL (машинный контракт стадий), TRACEABILITY (маркеры решений).
  4. Реестр сквозных ADR — история архитектурных решений.
  5. CLAUDE.md — паспорт проекта и правила для агентов.

Норматив сопровождения

Изменил функциональность платформы → обнови витрину docs/overview/ в том же PR.

Какой файл правится при каком классе изменений:

Класс изменения Файл витрины
Новый компонент / демон / поток данных tech-architecture.md
Стадии, гейты, под-гейты, маршруты задач tech-pipeline.md
Роли агентов, промпты, модель/эффорт tech-agents.md
Таблицы БД, объекты, термины tech-data-model.md
Plane / Gitea / LLM / Telegram tech-integrations.md
Гейты качества, секреты, self-hosting-страховки tech-quality-security.md
Эндпоинты наблюдаемости, метрики, уроки tech-observability.md
Новая способность уровня продукта business.md + при необходимости presentation.md

Каркас и машинно-проверяемые факты витрины (перечень стадий, имена гейтов, полнота агентов, валидность ссылок) защищены структурными тестами tests/test_system_docs.py — дрейф рвёт CI. Прозу проверяет reviewer: необновлённая витрина при изменении описанной в ней функциональности — finding ≥ P1 (расширение оси обзорных доков).


Витрина — обзорный слой документации. Текущее состояние и реестр доработок — CLAUDE.md; концепция развития — Product Vision.