From 9a2484d3764b0a07d3d177a8b3cf2aad7d8312a5 Mon Sep 17 00:00:00 2001 From: Stream Date: Wed, 3 Jun 2026 12:00:01 +0300 Subject: [PATCH] auto-sync: 2026-06-03 12:00:01 --- tasks/orchestrator/BACKLOG.md | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/tasks/orchestrator/BACKLOG.md b/tasks/orchestrator/BACKLOG.md index 71f0cde..75c10b1 100644 --- a/tasks/orchestrator/BACKLOG.md +++ b/tasks/orchestrator/BACKLOG.md @@ -5,9 +5,41 @@ type: backlog updated_at: 2026-06-03 --- +## EPIC: E2E онбординг нового проекта (03.06.2026) + +**ORCH-10** · тип: **Epic / Decomposition** · приоритет: средний-высокий · статус: бэклог + +**Цель:** одной командой / одним действием разворачивать новый проект в конвейере: от пустоты до «Слава заводит Work Item → агенты работают под своими именами» без ручных правок в БД/конфигах. Сейчас онбординг — ручной и разбросанный (БД Plane, Gitea, реестр, вебхуки), легко забыть шаг (напр. боты → 403). + +**Предлагаемый результат:** CLI/эндпоинт `onboard_project` (напр. `POST /admin/onboard-project` или `python -m src.onboard `), идемпотентный, с dry-run и проверкой каждого шага. + +### Шаги онбординга (декомпозиция — кандидаты в подзадачи): + +1. **Plane: проект** — создать (или принять существующий), получить `project_id`, `slug`, префикс (`ET-`, `ORCH-` …). +2. **Plane: states** — убедиться что есть нужные состояния (Backlog/In Progress/In Review/Needs Input/Done…), под которые завязан stage-engine. Сопоставить state_id ↔ стадия. +3. **Plane: боты в project_members** — добавить 7 сервис-ботов (role 15), иначе 403 на комменты. Это **бывшая ORCH-9** (см. ниже — вошла в этот эпик). +4. **Gitea: репо** — создать репозиторий (или принять), каноническая структура (`docs/work-items/`, `CLAUDE.md`, CI workflow lint+test+build), service account `claude-bot` с доступом, branch protection на main. +5. **Реестр ORCH-6** — записать в `src/projects.py` маппинг `project_id → repo + prefix`, чтобы webhook-фильтр пропускал новый проект и resolve repo работал. (Без этого webhook игнорит unknown-проект — защита от ET-009-инцидента.) +6. **Вебхуки** — Plane webhook → `/webhook/plane` (HMAC-secret), Gitea webhook → `/webhook/gitea`. Проверить is_active, секреты в .env. +7. **Деплой-хук** — если проект деплоится, завести deploy-hook по образцу enduro (с бэкапами/откатом). +8. **Документация + онтология** — `tasks//PROJECT.md`, запись Project в онтологию (`folder`, `doc_path`), `wiki ingest`. +9. **Smoke-проверка** — создать тестовый Work Item → пройти хотя бы 1 стадию → бот пишет коммент (201, автор = бот) → убрать тест. + +### Решить на этапе ТЗ: +- Один эндпоинт/команда или пайплайн из шагов? (склоняюсь к одной идемпотентной команде `onboard_project` с флагами). +- Что обязательно авто, что — полуручное с подтверждением (создание Gitea-репо — рисковано?). +- Где хранить реестр проектов — `src/projects.py` (код) или БД/конфиг (чтобы не деплоить ради нового проекта). +- Роль Славы в новом проекте (админ) — добавлять авто? + +**Связи:** включает ORCH-9 (боты в project_members). Опирается на ORCH-6 (реестр проектов) и Plane per-agent authorship (PR #9). + +**Источники:** `memory/2026-06-03.md`, `src/projects.py`, `DEV_TASK_PLANE_PER_AGENT_AUTHOR.md`, `PROGRESS_2026-06-02.md` (ORCH-6 multi-repo). + +--- + ## TODO: Plane — авто-добавление ботов в новый проект (03.06.2026) -**ORCH-9** · приоритет: средний · родитель: задача **Plane per-agent authorship** (PR #9 `e9fd3052`, замержена 03.06). +**ORCH-9** · подзадача ORCH-10 (шаг 3) · приоритет: средний · родитель: задача **Plane per-agent authorship** (PR #9 `e9fd3052`, замержена 03.06). **Проблема:** 7 сервис-ботов орка (🧠 Analyst / 🏗️ Architect / 💻 Developer / 🔍 Reviewer / 🧪 Tester / 🚀 Deployer / 🌊 Стрим) добавлены в `project_members` только текущего проекта enduro (`7a79f0a9-...`). При создании НОВОГО проекта в Plane боты в нём не состоят → POST коммента вернёт **403 Forbidden** (аутентификация ок, прав нет). Авторство сломается на новом проекте.