feat(plane): осмысленная статусная модель Plane (слой B — индикация) [ORCH-066] #69

Closed
admin wants to merge 0 commits from feature/ORCH-066-plane into main
Owner

Summary

  • Приводит статусы Plane к смыслу стадий конвейера: Backlog → Todo → [To Analyse] → Analysis → [In Review → Approved] → Architecture → Development → Code-Review → Testing → Awaiting Deploy → [Confirm Deploy] → Deploying → Monitoring after Deploy → Done.
  • Меняется ТОЛЬКО слой B (индикация Plane: src/plane_sync.py + точки выставления статуса в stage_engine.py/webhooks/plane.py/reconciler.py). Слой A — машина стадий src/stages.py::STAGE_TRANSITIONS — байт-в-байт неизменна (AC-21, регресс-тест TC-22).
  • 6 новых ключей статуса (to_analyse/analysis/code_review/awaiting_deploy/deploying/monitoring) + project-relative alias-fallback (BR-12): новый ключ деградирует на базовый UUID того же проекта → нулевая регрессия для enduro-trails.
  • Самодеплой (ORCH-036) индицирует фазы (Awaiting Deploy / Deploying); terminal-sync deploy→done ветвится: self-hosting → Monitoring after Deploy, прочие → терминальный Done.
  • Post-deploy монитор (ORCH-021): HEALTHY → Done, DEGRADED → Blocked (только индикация; self-hosting ALERT_ONLY, прод не трогается — BR-5).
  • Reconciler: триггер старта/резюма на To Analyse; Guard 2 учитывает новые активные ожидания без расширения skip-set на алиасах.
  • never-raise контракт сеттеров и резолвера сохранён. Раскатка — созданием статусов в Plane оператором, без kill-switch.

Инварианты не менялись: STAGE_TRANSITIONS, QG_CHECKS (12 чеков), check_deploy_status, exit-код-контракт хука, merge-gate, схема БД.

ADR: docs/work-items/ORCH-066/06-adr/ADR-001-plane-status-model.md

Test plan

  • pytest tests/ -q774 passed
  • Новые наборы: test_plane_status_model.py, test_plane_to_analyse_resume.py, test_plane_status_failclosed.py
  • TC в существующих: test_plane_webhook (TC-15), test_deploy_terminal_sync (TC-08/09), test_post_deploy_integration (TC-10/11/12), test_orch10_states (TC-19), test_reconciler (TC-21), test_reconciler_plane (TC-20), test_deploy_approve (TC-05/06)
  • TC-22 сверяет литерал STAGE_TRANSITIONS; TC-23 — реестр QG_CHECKS и сигнатуру check_deploy_status
  • ruff: ноль net-new ошибок на затронутых файлах

Refs: ORCH-066

🤖 Generated with Claude Code

## Summary - Приводит статусы Plane к смыслу стадий конвейера: `Backlog → Todo → [To Analyse] → Analysis → [In Review → Approved] → Architecture → Development → Code-Review → Testing → Awaiting Deploy → [Confirm Deploy] → Deploying → Monitoring after Deploy → Done`. - **Меняется ТОЛЬКО слой B** (индикация Plane: `src/plane_sync.py` + точки выставления статуса в `stage_engine.py`/`webhooks/plane.py`/`reconciler.py`). Слой A — машина стадий `src/stages.py::STAGE_TRANSITIONS` — байт-в-байт неизменна (AC-21, регресс-тест TC-22). - 6 новых ключей статуса (`to_analyse/analysis/code_review/awaiting_deploy/deploying/monitoring`) + project-relative alias-fallback (BR-12): новый ключ деградирует на базовый UUID того же проекта → нулевая регрессия для enduro-trails. - Самодеплой (ORCH-036) индицирует фазы (Awaiting Deploy / Deploying); terminal-sync `deploy→done` ветвится: self-hosting → Monitoring after Deploy, прочие → терминальный Done. - Post-deploy монитор (ORCH-021): HEALTHY → Done, DEGRADED → Blocked (только индикация; self-hosting ALERT_ONLY, прод не трогается — BR-5). - Reconciler: триггер старта/резюма на To Analyse; Guard 2 учитывает новые активные ожидания без расширения skip-set на алиасах. - never-raise контракт сеттеров и резолвера сохранён. Раскатка — созданием статусов в Plane оператором, без kill-switch. Инварианты не менялись: `STAGE_TRANSITIONS`, `QG_CHECKS` (12 чеков), `check_deploy_status`, exit-код-контракт хука, merge-gate, схема БД. ADR: `docs/work-items/ORCH-066/06-adr/ADR-001-plane-status-model.md` ## Test plan - [x] `pytest tests/ -q` — **774 passed** - [x] Новые наборы: `test_plane_status_model.py`, `test_plane_to_analyse_resume.py`, `test_plane_status_failclosed.py` - [x] TC в существующих: `test_plane_webhook` (TC-15), `test_deploy_terminal_sync` (TC-08/09), `test_post_deploy_integration` (TC-10/11/12), `test_orch10_states` (TC-19), `test_reconciler` (TC-21), `test_reconciler_plane` (TC-20), `test_deploy_approve` (TC-05/06) - [x] TC-22 сверяет литерал `STAGE_TRANSITIONS`; TC-23 — реестр `QG_CHECKS` и сигнатуру `check_deploy_status` - [x] ruff: ноль net-new ошибок на затронутых файлах Refs: ORCH-066 🤖 Generated with [Claude Code](https://claude.com/claude-code)
admin added 6 commits 2026-06-08 01:02:46 +03:00
Приводит статусы доски Plane к смыслу стадий конвейера, сохраняя
инвариант «статус — индикация, а не управление». Меняется только слой B
(отображение: src/plane_sync.py + точки выставления статуса в
stage_engine.py/webhooks/plane.py/reconciler.py); слой A — машина стадий
src/stages.py::STAGE_TRANSITIONS — остаётся байт-в-байт неизменным (AC-21).

- 6 новых логических ключей статуса (to_analyse, analysis, code_review,
  awaiting_deploy, deploying, monitoring) + сеттеры и диспетчер
  set_issue_stage_state.
- Project-relative alias-fallback (BR-12): новый ключ деградирует на
  базовый UUID того же проекта → нулевая регрессия для enduro-trails.
- Самодеплой (ORCH-036) индицирует фазы: Awaiting Deploy / Deploying;
  terminal-sync для self-hosting → Monitoring after Deploy, для прочих →
  терминальный Done.
- Post-deploy монитор (ORCH-021): HEALTHY → Done, DEGRADED → Blocked
  (только индикация; self-hosting ALERT_ONLY, прод не трогается, BR-5).
- Reconciler: триггер старта/резюма на To Analyse; Guard 2 учитывает
  новые активные ожидания без расширения skip-set на алиасах.
- never-raise контракт сеттеров и резолвера состояний сохранён.
- Раскатка — созданием статусов в Plane оператором, без kill-switch.

Инварианты не менялись: STAGE_TRANSITIONS, QG_CHECKS (12 чеков),
check_deploy_status, exit-код-контракт хука, merge-gate, схема БД.

ADR: docs/work-items/ORCH-066/06-adr/ADR-001-plane-status-model.md
Тесты: test_plane_status_model, test_plane_to_analyse_resume,
test_plane_status_failclosed + TC в существующих наборах. 774 passed.

Refs: ORCH-066

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
tester(ET): auto-commit from tester run_id=343
All checks were successful
CI / test (push) Successful in 21s
CI / test (pull_request) Successful in 18s
bc2347abd3
admin force-pushed feature/ORCH-066-plane from d012fec5ff to bc2347abd3 2026-06-08 01:02:46 +03:00 Compare
admin added 1 commit 2026-06-08 01:18:33 +03:00
deploy(ORCH-036): finalize SUCCESS for ORCH-066
All checks were successful
CI / test (push) Successful in 19s
CI / test (pull_request) Successful in 19s
348cf8c164
admin added 1 commit 2026-06-08 01:33:37 +03:00
docs(ORCH-021): post-deploy HEALTHY/NONE for ORCH-066
All checks were successful
CI / test (push) Successful in 19s
CI / test (pull_request) Successful in 19s
72d662ae88
Author
Owner

Superseded by #71 (restore-main 2026-06-08): ORCH-066 code restored to main after phantom-merge.

Superseded by #71 (restore-main 2026-06-08): ORCH-066 code restored to main after phantom-merge.
admin closed this pull request 2026-06-08 10:55:33 +03:00
All checks were successful
CI / test (push) Successful in 19s
CI / test (pull_request) Successful in 19s

Pull request closed

Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: admin/orchestrator#69