fix(deploy): terminal-window-aware guard so done tasks hold Done in Plane (ORCH-094) #105
Reference in New Issue
Block a user
Delete Branch "feature/ORCH-094-bug-done-deploy-plane-awaiting"
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-094 — done-задача держит
Done, не флаппит deploy-статусыЗадача с БД
stage=doneи 0 активных job'ов стабильно флаппила в PlaneAwaiting Deploy ⟷ Monitoring after Deploy(верифицировано на ORCH-061, task 47) вместоDone. Корень: три deploy-фазовых сеттера терминал-слепы — любой стейл/двойной/неизвестный вызов под бот-токеном перезаписывал терминал промежуточным статусом, и обратно, бесконечно.Решение (по ADR-001)
src/deploy_status_guard.py(never-raise, config-gated) —decide() -> ALLOW | CONVERGE_DONE | SUPPRESSна входеset_issue_awaiting_deploy/set_issue_deploying/set_issue_monitoring. Легитимность: deploy-статус ОК ⇔ задача нетерминальна ИЛИ (doneИ активно пост-деплой-окно). Дляdoneиначе → идемпотентное схождение к Done;cancelled→ suppress.post_deploy.arm_monitorподнят вышеset_issue_monitoringвadvance_stage, чтобыwindow_active==Trueпропустил легитимный первый Monitoring (БД ужеdoneк этому моменту).cancelledмид-окно → закрыть окно без статус-PATCH и без перепостановки (zombie-tick guard).reason+ одна структурная лог-запись на вердикт; новыйdb.get_task_by_work_item_id,post_deploy.window_active.deploy_status_guard_enabled(kill-switch → 1:1) /deploy_status_guard_repos(CSV; пусто → self-hosting only).Инварианты
STAGE_TRANSITIONS/QG_CHECKS/check_*/ machine-verdict ключи / схема БД — не тронуты (читается существующаяtasks.stage, без миграции).main/force-push/прод-контейнер/detached-деплой — не тронуты. Рабочий self-deploy-цикл 1:1; не-self репо инертны.Тесты
TC-01..TC-12 в 5 новых модулях + флаги конфига; обновлены
reason-ассерты вtest_deploy_terminal_sync/test_deploy_approve. Полный регрессpytest tests/ -qзелёный (1413).ADR:
docs/work-items/ORCH-094/06-adr/ADR-001-terminal-window-aware-deploy-status-guard.md, сквознойdocs/architecture/adr/adr-0028-…md.Refs: ORCH-094
🤖 Generated with Claude Code
b35b082331tofe35b2224a