Replace the LLM `deployer` agent on the `deploy-staging` stage (self-hosting orchestrator) with a deterministic staging-runner intercepted in launch_job BEFORE _spawn (the deploy-finalizer / post-deploy-monitor reserved-agent precedent). The runner executes the SAME staging suite, maps the exit-code to `staging_status:` via the existing self_deploy.map_exit_code_to_status contract, writes 15-staging-log.md, and initiates the UNCHANGED check_staging_status gate exactly as a finished LLM-deployer would. Invariant (NFR-1): this replaces only the *producer* of the artifact — the artifact contract, the gate / _parse_staging_status / check_staging_status name, STAGE_TRANSITIONS, the machine-verdict key `staging_status:` and the DB schema are byte-for-byte unchanged. Additive, under a kill-switch + repo-scope CSV, never-raise, fail-safe back to the LLM path. Two-level outcome (D5, anti ORCH-110): suite executed -> verdict -> advance (FAILED -> the existing deploy-staging -> development rollback + developer-retry, same as a FAILED LLM verdict); tool-error (suite did not execute) -> bounded DEFER -> fail-closed FAILED + alert on exhaustion (infra != code fault; never a silent advance / false green). First implemented slice of the LLM determinization roadmap (ORCH-118 A6, replace-deterministic-now). - New leaf src/staging_runner.py (never-raise; proc_group tree-kill + timeout) - launch_job intercept + _run_staging_runner_job (mirror _run_deploy_finalizer_job) - config: ORCH_STAGING_RUNNER_* keys (enabled/repos/timeout/infra-retry budget) - GET /queue staging_runner observability block - docs: llm-call-sites/roadmap/usage-policy (A6 implemented; machine blocks + single-transport invariant intact), deployer.md (LLM branch -> fallback), CLAUDE.md, CHANGELOG.md, overview (tech-pipeline/tech-agents/tech-quality-security), .env.example - tests/test_orch115_staging_runner.py (TC-01..TC-13); LLM anti-drift green (TC-14) Refs: ORCH-115 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.