pcp-tgu-service: боевой POST /api/plans/{planId}/issue + гард точки невозврата

- ручная выдача вынесена из TestTguController в PlanController
- assertReissuableInSlot: 422 при LAID_IN и заморозке (now >= start - layinFreezeMinutes),
  409 при активной выдаче другого плана КА; перевыдача того же плана поверх своей
  in-flight attempt разрешена (новая attemptNo++ замещает летящую)
- REISSUABLE_STATUSES удалён — гард по времени/статусу его заместил
- layinFreezeMinutes (деф. 10) в PlanningProperties + config-repo/application yaml
- граничные тесты в IssueDuePlanWorkerOnDemandTest, переписан PlanIssueAndDecisionFlowTest
- дизайн-док версионирования (фаза 1 отмечена сделанной)
This commit is contained in:
Дмитрий Соловьев
2026-06-03 12:40:03 +03:00
parent c32e13e09c
commit e060e13b85
12 changed files with 489 additions and 41 deletions
+3
View File
@@ -42,6 +42,9 @@ planning:
reissue-prep-minutes: 30
worker-lock-ttl-seconds: 300
waiting-decision-grace-minutes: 30
# Заморозка перед стартом: ручная replace-перевыдача плана в свой слот запрещена,
# если до старта осталось меньше этого числа минут (часть «точки невозврата»).
layin-freeze-minutes: 10
topics:
visibility-windows-changed: pcp.tgu.visibility-windows-changed.v1