Files
orchestrator/docs/overview
claude-bot b50cf1dd08
All checks were successful
CI / test (push) Successful in 1m8s
CI / test (pull_request) Successful in 1m8s
feat(staging): deterministic staging-runner replacing LLM deployer on deploy-staging (ORCH-115)
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>
2026-06-16 01:59:43 +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.