Second realised slice of the determinization-roadmap (ORCH-118 A5, needs-hybrid-fallback): on the `testing` stage for the self-hosting `orchestrator` repo the LLM `tester` agent is replaced by a deterministic test-runner (src/test_runner.py), intercepted in launch_job BEFORE _spawn (deploy-finalizer / post-deploy-monitor / staging-runner precedent). It runs the regression `python -m pytest <target>` in the task worktree via proc_group (tree-kill) + an optional read-only smoke (/health, /status, /queue + serial_gate), maps the exit-code -> result: PASS|FAIL via the existing self_deploy.map_exit_code_to_status contract, writes 13-test-report.md and initiates the EXISTING check_tests_passed gate exactly as a finished LLM-tester. Invariant (NFR-1): only the *producer* changes — the artifact contract (13-test-report.md / result:), the gate check_tests_passed / _parse_tests_verdict, STAGE_TRANSITIONS and the DB schema are byte-for-byte UNCHANGED. Additive, under a kill-switch (test_runner_enabled), never-raise, fail-closed, self-hosting scope, two-level outcome (tool-error DEFER, anti ORCH-110), hybrid (LLM strictly off-control-path). 52c-`status:` is aligned with the verdict (D6.1) so the three-field _parse_tests_verdict never false-negatives a PASS. Docs (ORCH-118 NFR-6, atomic with code): llm-call-sites.md (A5 implemented), llm-determinization-roadmap.md (rank 2 implemented), llm-usage-policy.md, README/internals/overview, tester.md, CLAUDE.md, CHANGELOG.md. Coverage: tests/test_orch116_test_runner.py (TC-01..TC-14); LLM anti-drift tests green. Full suite: 2137 passed. Refs: ORCH-116 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.