ORCH-6: multi-repo (project filter + repo/prefix per project) #2
Reference in New Issue
Block a user
Delete Branch "feature/ORCH-6-multirepo"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
ORCH-6 — Multi-repo: фильтр проекта + маппинг repo per project
Закрывает корень инцидента 2026-06-02 (Plane-webhook гнал все задачи в
enduro-trails) и вводит реестр проектов для multi-repo.Что сделано
src/projects.py(новый) — реестрProjectConfig(Plane id → repo/prefix/name) + резолверыget_project_by_plane_id/get_project_by_repo/known_plane_project_ids. Источник —ORCH_PROJECTS_JSON, дефолт (enduro-trails + orchestrator) в коде; устойчивый парсинг (битый JSON → fallback).config.py—projects_json(envORCH_PROJECTS_JSON).webhooks/plane.py— фильтр по проекту (неизвестный →ignored) + резолв repo/prefix/Plane-проекта из реестра.db.py—get_next_work_item_id(repo, prefix="ET"), нумерация per (repo, prefix):ORCH-001vsET-010.plane_sync.py— параметризацияproject_id(обратно совместимо, дефолт enduro).webhooks/gitea.py— неизвестный repo →ignored(3 хэндлера).Тесты
tests/test_projects.py(16) — резолверы + парсингORCH_PROJECTS_JSON.tests/test_plane_webhook.py(4) — фильтр через TestClient,launcher.launchзамокан.test_webhooks.py(signature 401/TypeError — не трогались).Проверка (offline-резолв, без реальных запусков)
⚠️ Внимание
is_active=false). Включение — после ревью (Стрим).plane_syncсохранена (ET-задачи не сломаны).Док:
docs/BUGFIXES_2026-06-03.md,docs/ARCHITECTURE.md,README.md.