Commit Graph

755 Commits

Author SHA1 Message Date
c04dba0c0a tester(ET): auto-commit from tester run_id=650
All checks were successful
CI / test (push) Successful in 1m0s
CI / test (pull_request) Successful in 1m3s
2026-06-12 08:19:36 +03:00
95df7278e3 reviewer(ET): auto-commit from reviewer run_id=649 2026-06-12 08:19:36 +03:00
d016ac9b4c docs(overview): ORCH-105 — слайды Lite-установки и использования через Plane
Расширяю слайдо-источник презентации docs/overview/presentation.md тремя
слайдами в каноне ORCH-011 (16 → 19, сквозная нумерация сохранена):

- Слайд «Запуск и ведение задачи через Plane» (вход «To Analyse»,
  статусы = индикация, наблюдение: доска + Telegram-карточка + комментарии).
- Слайд «Что решает человек: гейты, авто-режим, отмена» (Approved /
  Confirm Deploy; autoApprove/autoDeploy/Bug — без пропуска тех. проверок; STOP).
- Слайд «Lite-установка скриптами» (два контейнера платформы; только конфиг;
  gen_secrets.py/onboard_project.py + docker compose up -d; runbook LITE_SETUP.md;
  одношаговый bootstrap — это смежный Bundled, не Lite).

Факты сверены с golden sources (LITE_SETUP.md, tech-pipeline.md,
tech-integrations.md, CLAUDE.md). Анти-дрейф — новая функция
test_presentation_covers_lite_and_plane_usage_bits в tests/test_system_docs.py
(существующие проверки без послаблений). CHANGELOG обновлён.

Docs+tests only: src/**/STAGE_TRANSITIONS/QG_CHECKS/check_*/схема БД —
байт-в-байт; python-pptx не в прод-образе; .pptx в git не коммитится.
Ручная сборка .pptx (TC-07) проверена в dev-venv: «Собрано слайдов: 19», exit 0.

Refs: ORCH-105

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-12 08:19:36 +03:00
95a09b16b0 architect(ET): auto-commit from architect run_id=647 2026-06-12 08:19:36 +03:00
be5e4e647f architect(ET): auto-commit from architect run_id=646 2026-06-12 08:19:36 +03:00
05d26a8f3e analyst(ET): auto-commit from analyst run_id=645 2026-06-12 08:19:36 +03:00
3f44d51176 docs: init ORCH-105 business request 2026-06-12 08:19:36 +03:00
a8ca4db550 docs(ORCH-105): staging gate log — SUCCESS (8/10, C9a/C9b infra-waived)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-12 08:19:13 +03:00
4d5e4613e5 Merge pull request 'docs(overview): ORCH-011 — витрина системы docs/overview/ (бизнес+тех, 3 аудитории, презентация)' (#125) from feature/ORCH-011- into main
Some checks failed
CI / test (push) Has been cancelled
2026-06-11 09:42:53 +03:00
deploy-finalizer
a6bf5d1b25 deploy(ORCH-036): finalize SUCCESS for ORCH-011
All checks were successful
CI / test (push) Successful in 55s
2026-06-11 09:42:52 +03:00
7191b8dca2 tester(ET): auto-commit from tester run_id=636
All checks were successful
CI / test (push) Successful in 1m3s
CI / test (pull_request) Successful in 1m1s
2026-06-11 09:36:40 +03:00
eb92cc6c2c reviewer(ET): auto-commit from reviewer run_id=635 2026-06-11 09:36:40 +03:00
6d798c01ef docs(overview): витрина системы docs/overview/ — бизнес+тех, 3 аудитории, презентация (ORCH-011)
Единая точка входа в документацию платформы (ADR-001 D1–D9):
- docs/overview/ — 10 файлов: индекс (маршруты «Я заказчик / Я менеджер /
  Я разработчик» + норматив «изменил функциональность → обнови витрину в том же
  PR»), business.md (без жаргона, 6 сценариев), 7 тех-блоков (link-first),
  presentation.md (16 слайдов + процедура сборки «команда + Проверка:»).
- scripts/build_presentation.py — генератор .pptx в тёмном дизайне (python-pptx;
  чистый stdlib-парсер parse_slides + ленивый import pptx; бинарь не коммитится,
  build/ в .gitignore; зависимость НЕ в прод-образе — машинный гард TC-09).
- tests/test_system_docs.py — структурный анти-дрейф: derive-сверки стадий/
  гейтов/агентов импортом STAGE_TRANSITIONS/QG_CHECKS/glob промптов/config,
  валидность ссылок, FORBIDDEN-скан + секрет-эвристика, слайды каноническим
  парсером, NFR-2, указатели.
- reviewer.md — ось обзорных доков ORCH-079 расширена на витрину (D7; канон 52d
  байт-в-байт, только текст внутри секций) + анти-регресс ассерт в
  test_agent_prompts_canon.py.
- Указатели: README.md, CLAUDE.md (правила №2/№6, «Структура»),
  PRODUCT_VISION.md (врезка-ссылка), CHANGELOG.md.

Рантайм байт-в-байт: src/**, docker-compose.yml, Dockerfile, requirements* —
ноль изменений (docs+tests+dev-скрипт, паттерн ORCH-102/103). pytest: 1873 passed.

Refs: ORCH-011

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 09:36:40 +03:00
c455931ae7 architect(ET): auto-commit from architect run_id=633 2026-06-11 09:36:40 +03:00
47479a9b75 analyst(ET): auto-commit from analyst run_id=632 2026-06-11 09:36:40 +03:00
6d1230bcc5 docs: init ORCH-011 business request 2026-06-11 09:36:40 +03:00
9b7bdc0c6c docs(ORCH-011): staging gate log — SUCCESS (8/10, C9a/C9b infra-waived)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 09:36:21 +03:00
2c72a889b6 Merge pull request 'feat(replication): ORCH-10b Bundled-тираж — весь стек одним комплектом + bootstrap (ORCH-103)' (#124) from feature/ORCH-103-orch-10b-bundled-bootstrap into main
Some checks failed
CI / test (push) Has been cancelled
2026-06-11 02:22:42 +03:00
deploy-finalizer
cf94fb813f deploy(ORCH-036): finalize SUCCESS for ORCH-103
All checks were successful
CI / test (push) Successful in 54s
2026-06-11 02:22:41 +03:00
6e17f33be4 tester(ET): auto-commit from tester run_id=630
All checks were successful
CI / test (push) Successful in 57s
CI / test (pull_request) Successful in 1m1s
2026-06-11 02:16:32 +03:00
8512dad29e reviewer(ET): auto-commit from reviewer run_id=629 2026-06-11 02:16:32 +03:00
f0cd19d748 feat(replication): ORCH-10b Bundled-тираж — bundle-compose всего стека + bootstrap-скрипт
Закрывает Type B эпика ORCH-10 (по ADR-001 ORCH-103, D1–D11):

- deploy/bundled/docker-compose.yml — самодостаточный compose всего стека
  (орк + watchdog + Gitea 1.22.6 + зеркало upstream Plane CE v0.23.1,
  ~14 контейнеров); project name orchestrator-bundle (узнаваемый префикс),
  container_name не пиннится, staging-контура нет; одна bridge-сеть,
  машинный трафик — сервис-DNS, наружу только человеческие порты;
  GITEA__webhook__ALLOWED_HOST_LIST=orchestrator; все образы пиннованы
  неподвижными тегами. Корневой compose/Dockerfile/src/** — байт-в-байт.
- deploy/bundled/.env.example — конфиг-канон bundle (плейсхолдеры, ни одного
  дефолтного пароля; key-set-sync интерполяций держит тест).
- scripts/bootstrap_bundle.py — python stdlib-only, режимы plan/apply/verify,
  step-движок check→ensure, exit 0/2/1: preflight (fail-fast до мутаций) →
  секреты (gen_secrets.py + stdlib secrets, без перетирания) → up+готовность →
  init Gitea автоматом → init Plane (manual-step с API-верификацией) →
  онбординг строго onboard_project.py apply+verify → token-remote клон →
  сборка .env/.env.watchdog (единственный писатель, права 600) → health.
  Delete-операций нет вообще (D9), секреты не печатаются (NFR-3).
- CHANGELOG.md, CLAUDE.md (абзац Type B), .gitignore (deploy/bundled/repos/).

Док BUNDLED_SETUP.md, REPLICATION §1, arch README, adr-0038 и три структурных
тест-модуля (TC-01…TC-11) — в предыдущих коммитах ветки; полный регресс
1844 passed, ruff по файлам задачи чистый.

Refs: ORCH-103

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 02:16:32 +03:00
215930fb90 developer(ET): auto-commit from developer run_id=627 2026-06-11 02:16:32 +03:00
054b78c8ca architect(ET): auto-commit from architect run_id=626 2026-06-11 02:16:32 +03:00
4050ccbfde analyst(ET): auto-commit from analyst run_id=625 2026-06-11 02:16:32 +03:00
d282d25659 docs: init ORCH-103 business request 2026-06-11 02:16:32 +03:00
c74a68a251 docs(ORCH-103): staging gate log — SUCCESS (8/10, C9a/C9b infra-waived)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 02:16:04 +03:00
0d15719676 Merge pull request 'docs(deployment): ORCH-102 — ORCH-10a Lite-тираж (LITE_SETUP + watchdog-канон + анти-дрейф)' (#123) from feature/ORCH-102-orch-10a-lite-watchdog into main
Some checks failed
CI / test (push) Has been cancelled
2026-06-11 00:48:29 +03:00
deploy-finalizer
f09aff6b43 deploy(ORCH-036): finalize SUCCESS for ORCH-102
All checks were successful
CI / test (push) Successful in 54s
2026-06-11 00:48:28 +03:00
a5f904b56a tester(ET): auto-commit from tester run_id=623
All checks were successful
CI / test (push) Successful in 59s
CI / test (pull_request) Successful in 1m1s
2026-06-11 00:42:15 +03:00
56cbf9bd0e reviewer(ET): auto-commit from reviewer run_id=611 2026-06-11 00:42:15 +03:00
8351e91382 docs(deployment): ORCH-10a Lite-тираж — LITE_SETUP.md + канон watchdog-конфига + анти-дрейф контур
Закрывает Type A эпика ORCH-10 (поверх 10-common ORCH-101). Docs+tests
(паттерн ORCH-077/092): src/**, docker-compose.yml, Dockerfile, scripts/** —
ноль изменений; конвейер (STAGE_TRANSITIONS/QG_CHECKS/check_*/machine-verdict/
схема БД) — байт-в-байт.

- docs/deployment/LITE_SETUP.md (D1/D2): golden source Lite-тиража — 13
  нормативных разделов в порядке маршрута оператора, каждый шаг =
  fenced-команда + явная «Проверка:»/PASS/FAIL, хост-специфика только
  плейсхолдерами; канон не форкается (статусы/env/вебхуки/smoke — ссылками
  на ONBOARDING §1 / REPLICATION §2–§4 / SETUP_WEBHOOKS; явно — только
  fail-closed Confirm Deploy/STOP и обязательные ключи нового хоста).
- .env.watchdog.example (D5, исход А-4): третий канонический env-example;
  key-set = блок WATCHDOG_* .env.example (19 ключей, токены — пустые
  плейсхолдеры); закрывает ловушку файла-носителя (sidecar читает ТОЛЬКО
  .env.watchdog); C-1 ORCH-100 + когерентность порта в шапке; .env.watchdog
  добавлен в .gitignore (секрет-гигиена, зеркало .env.staging).
- tests/test_lite_setup_doc.py (D8): 25 структурных тестов без
  сети/LLM/subprocess — 13 разделов в порядке D2, кирпичи FR-6.1, key-sync
  watchdog-канона, env-ключи ⊂ .env.example, compose-подмножество (ровно
  орк+watchdog по дефолту, staging за профилем, анти-появление
  plane*/gitea*), fenced-скан FORBIDDEN (импорт из test_no_host_hardcodes)
  + секрет-эвристика с негативным самочеком, «22 статуса» сверкой импорта
  plane_sync._PLANE_NAME_TO_KEY, перекрёстность.
- Перекрёстные доки (FR-7): REPLICATION.md §1 (Type A — Lite →  ORCH-102 +
  ссылка), README.md (способность Lite + docs/deployment/ в структуре),
  INFRA.md (.env.watchdog в секрет-нормативе + ссылка на deployment),
  CLAUDE.md (блок ORCH-102), CHANGELOG.md.

Нормативы разделов: Gitea — branch protection на main НЕ включать (D3 /
ADR D10 ORCH-009 / INV-4), pre-receive не вводится, ОДИН глобальный
webhook-секрет; staging-вилка опциональна (D6); источник кода —
параметризованный git clone <ORCHESTRATOR_GIT_URL> (D7); stateless —
данные/задачи/секреты боевого хоста НЕ переносятся (AC-3).

Тесты: pytest tests/ -q — 1789 passed (полный регресс зелёный).

Refs: ORCH-102

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 00:42:15 +03:00
443ddc6b6f architect(ET): auto-commit from architect run_id=609 2026-06-11 00:42:15 +03:00
30f1f33af1 analyst(ET): auto-commit from analyst run_id=608 2026-06-11 00:42:15 +03:00
3a103a6e92 docs: init ORCH-102 business request 2026-06-11 00:42:15 +03:00
7d6251d4b6 docs(ORCH-102): staging gate log — SUCCESS (8/10, C9a/C9b infra-waived) 2026-06-11 00:41:48 +03:00
ede5ec9473 Merge pull request 'feat(replication): ORCH-101 — расхардкод хоста + секреты нового хоста + smoke (фундамент тиража 10-common)' (#122) from feature/ORCH-101-orch-10-common-smoke into main
Some checks failed
CI / test (push) Has been cancelled
2026-06-10 21:09:38 +03:00
deploy-finalizer
c1e3c46f98 deploy(ORCH-036): finalize SUCCESS for ORCH-101
All checks were successful
CI / test (push) Successful in 56s
CI / test (pull_request) Successful in 58s
2026-06-10 21:09:37 +03:00
cb1f27e9c0 docs(ORCH-101): staging gate log — staging_status SUCCESS (8/10, C9a/C9b infra-waived)
All checks were successful
CI / test (push) Successful in 1m2s
CI / test (pull_request) Successful in 1m3s
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 21:02:45 +03:00
c55f956d78 tester(ET): auto-commit from tester run_id=606
All checks were successful
CI / test (push) Successful in 56s
CI / test (pull_request) Successful in 55s
2026-06-10 21:00:13 +03:00
26fe4cdd5e reviewer(ET): auto-commit from reviewer run_id=605
All checks were successful
CI / test (push) Successful in 1m1s
CI / test (pull_request) Successful in 59s
2026-06-10 20:57:20 +03:00
f1635ddb39 feat(replication): расхардкод хоста + секреты нового хоста + smoke-runbook
All checks were successful
CI / test (push) Successful in 57s
CI / test (pull_request) Successful in 55s
Фундамент тиража 10-common (эпик ORCH-10): платформа разворачивается на
новой инфре без правки кода — только env/конфиг. Каждый дефолт = боевому
значению (пустой .env => поведение 1:1, kill-switch-природа, NFR-2);
STAGE_TRANSITIONS/QG_CHECKS/check_*/machine-verdict/схема БД не тронуты.

- config: agent_home_dir / agent_git_name / git_email_domain / staging_port
  (ADR-001 D2/D4); код-блокеры A1-A4 закрыты: plane_sync ссылки из
  gitea_public_url+gitea_owner, launcher - единый agent_git_env() (x2 места),
  self_deploy/post_deploy - HOME+домен из Settings (имена системных акторов -
  платформенные литералы)
- image_freshness: staging_port из конфига + fail-closed guard
  staging_port == прод-порт -> отказ ДО ssh/build (инвариант ORCH-058 AC-9
  стал исполняемым); REPO= передаётся хуку явно обоими инвокерами (D7)
- SELF_HOSTING_REPO - нормативная платформенная константа (D3, пин-тест)
- compose: полная ${VAR:-default}-интерполяция (реестр B, карта D6); группа
  ORCH-040 uid/gid/HOME/маунты двигается согласованно (build.args APP_*);
  group_add "МИНА 1" сохранён x3; оба app-сервиса с явным command:
- Dockerfile: ARG APP_UID/APP_GID/APP_USER/APP_HOME (CMD exec-form 8500
  сознательно не тронут - D5); deploy-hook: REPO="${REPO:-...}" (D1 реестра)
- секреты: stdlib scripts/gen_secrets.py (token_hex(32); печать по умолчанию;
  --write никогда не перезаписывает существующий .env молча, exit=2;
  перезапись только --force); .env.example дополнен до полноты ключей старта
- доки: новый docs/operations/REPLICATION.md (карта env, чек-лист секретов,
  smoke-процедура с PASS/FAIL, границы 10-common/Lite/Bundled), INFRA.md,
  README, CLAUDE.md, CHANGELOG
- анти-регресс: tests/test_no_host_hardcodes.py (tokenize-сканер запрещённых
  литералов, config-модули - структурное исключение, allowlist пуст,
  негативная самопроверка) + test_host_config_keys / test_infra_parametrization
  / test_secrets_gen / test_replication_smoke; согласованные структурные
  правки test_orch040_compose (судит резолв дефолтов) и
  test_deploy_hook_rollback_sim (REPO через env-override = контракт D7)

Полный регресс: 1764 passed.

Refs: ORCH-101

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 20:50:43 +03:00
26bdd783d6 architect(ET): auto-commit from architect run_id=603
All checks were successful
CI / test (push) Successful in 59s
2026-06-10 20:23:50 +03:00
69aa6eacde analyst(ET): auto-commit from analyst run_id=602
All checks were successful
CI / test (push) Successful in 1m9s
2026-06-10 20:02:14 +03:00
9d0f2e40b7 docs: init ORCH-101 business request
All checks were successful
CI / test (push) Successful in 59s
2026-06-10 19:50:40 +03:00
4c232112d4 Merge pull request 'feat(onboarding): turnkey project onboarding — kit + CLI + runbook (ORCH-009)' (#120) from feature/ORCH-009-turnkey-plane into main
Some checks failed
CI / test (push) Has been cancelled
2026-06-10 19:50:38 +03:00
deploy-finalizer
2fb6dc32f6 deploy(ORCH-036): finalize SUCCESS for ORCH-009
All checks were successful
CI / test (push) Successful in 58s
2026-06-10 19:50:37 +03:00
e5c3774bc5 tester(ET): auto-commit from tester run_id=600
All checks were successful
CI / test (push) Successful in 58s
CI / test (pull_request) Successful in 57s
2026-06-10 19:40:51 +03:00
b97ffae7a1 reviewer(ET): auto-commit from reviewer run_id=593
All checks were successful
CI / test (push) Successful in 56s
CI / test (pull_request) Successful in 1m3s
2026-06-10 17:26:44 +03:00
b26a391fa3 developer(ET): auto-commit from developer run_id=592
All checks were successful
CI / test (push) Successful in 55s
CI / test (pull_request) Successful in 55s
2026-06-10 16:18:27 +03:00