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>
Витрина системы — 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 |
Маршруты чтения
Я заказчик
- business.md — проблема, решение, ценность.
- business.md → Сценарии использования — как это выглядит в работе.
- presentation.md — слайдовая версия рассказа (собирается в PowerPoint).
- Развернуть у себя: LITE_SETUP (своя инфраструктура) или BUNDLED_SETUP (весь стек одним комплектом).
Я менеджер проекта
- business.md — что платформа делает и где в процессе человек.
- tech-pipeline.md — конвейер, статусная модель Plane, человеческие гейты (одобрение постановки, подтверждение прод-деплоя).
- tech-observability.md — как следить за ходом: живая Telegram-карточка, статусы, стоимость.
Я разработчик
- Тех-блоки 1→7: архитектура → конвейер → агенты → модель объектов → интеграции → качество/безопасность → наблюдаемость.
- Инженерный справочник архитектуры и internals — детали реализации.
- Стандарты (структура доков конвейера), HANDOFF_PROTOCOL (машинный контракт стадий), TRACEABILITY (маркеры решений).
- Реестр сквозных ADR — история архитектурных решений.
- 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.