From dc9792cf34b4247e0756d42fd270209bf316c397 Mon Sep 17 00:00:00 2001 From: Andrey Epifancev Date: Sun, 25 Oct 2026 22:28:23 +0400 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=BF=D0=B5=D0=BA=D0=B0:=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=B7=D0=BE=D1=80=20=D0=B8=20=D1=81=D0=B2=D0=B5=D1=80=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=BF=D0=BE=D0=BB=D1=8F=20=D0=BE=D1=86=D0=B5=D0=BD?= =?UTF-8?q?=D0=BA=D0=B8=20=D0=B4=D0=BE=D1=81=D0=BA=D0=B8=20=D0=B2=20=D0=B0?= =?UTF-8?q?=D0=B3=D0=B5=D0=BD=D1=82=D0=B5=20v16=20(#113,=20I-1,=20I-2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- openspec/changes/sp-estimation-board/design.md | 2 ++ openspec/changes/sp-estimation-board/specs/agent/spec.md | 9 ++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/openspec/changes/sp-estimation-board/design.md b/openspec/changes/sp-estimation-board/design.md index a38cd38..ef2551a 100644 --- a/openspec/changes/sp-estimation-board/design.md +++ b/openspec/changes/sp-estimation-board/design.md @@ -47,3 +47,5 @@ | 25.10.2026 | R-3. `GET /issue` не делается, если в команде только оценка | пакет оценок — 64 команды; минус один вызов Jira на команду | нет | | 25.10.2026 | R-4. Текст 422 для канбана у `ensure_fields` — отдельный | «спринтов нет» вводит в заблуждение для оценки | косметика | | 25.10.2026 | R-5. `value` в `PUT …/estimation` — число (`null` — очистить) | Jira отдаёт значение числом; проверяется вживую до пакета | одна правка агента | +| 25.10.2026 | I-1 (финальное ревью): между `PUT /issue` и `PUT …/estimation` одной команды — зазор `ensure_fields` | политика темпа: зазор между записями внутри команды | пакет «оценка + поля» идёт медленнее | +| 25.10.2026 | I-2 (финальное ревью): `fieldId` оценки доски сверяется с `field_ids.story_points` (если задан), расхождение — `failed` без записи | иначе число уйдёт в чужое поле доски другого проекта | лишний отказ, если поле настроено неверно — правится настройкой | diff --git a/openspec/changes/sp-estimation-board/specs/agent/spec.md b/openspec/changes/sp-estimation-board/specs/agent/spec.md index dbeefb2..ea0c7cd 100644 --- a/openspec/changes/sp-estimation-board/specs/agent/spec.md +++ b/openspec/changes/sp-estimation-board/specs/agent/spec.md @@ -23,7 +23,10 @@ or unknown» (Jira банка, 25.10.2026), а бэклог Scrum ставит `GET /rest/agile/1.0/issue/{key}/estimation?boardId=` (`{fieldId, value}`); отличается — `PUT` туда же с `{"value": …}` (`null` — очистить); сравнение — как у v15 (`3` равно `3.0`, `null` — только `null`). `field_ids.story_points` для записи с доской не нужен. `GET /issue` и `PUT /issue` агент делает только для остальных полей команды; в `changed` — -`story_points`, если оценка записана. Команда без `board_id` — оценка через `PUT /issue`, как v15. Ошибка Jira на +`story_points`, если оценка записана. Если в той же команде записан и `PUT /issue`, перед записью оценки — зазор типа +`ensure_fields` (политика темпа). Если `field_ids.story_points` задан и `fieldId` оценки доски с ним не совпадает — +`failed` «у доски оценка — поле , а не story points ()», без записи. Команда без +`board_id` — оценка через `PUT /issue`, как v15. Ошибка Jira на `estimation` — `failed` с текстом Jira; остальные поля к этому моменту уже записаны (повтор их не меняет). #### Scenario: Доска с закрытыми спринтами @@ -41,6 +44,10 @@ or unknown» (Jira банка, 25.10.2026), а бэклог Scrum ставит - **THEN** `GET /rest/agile/1.0/issue/AURORA-1704/estimation?boardId=4216`, затем `PUT` туда же `{"value": 2}`; `PUT /issue` нет; отчёт `done` с `changed: ["story_points"]`, `jira_calls = 2` +#### Scenario: Доска оценивает другим полем +- **WHEN** `field_ids.story_points = customfield_15852`, `GET …/estimation?boardId=5120` отдаёт `fieldId: timeoriginalestimate` +- **THEN** `failed` «у доски 5120 оценка — поле timeoriginalestimate, а не story points (customfield_15852)», `PUT` нет + #### Scenario: Оценка уже стоит - **WHEN** та же команда, оценка в Jira — `2.0` - **THEN** только `GET …/estimation`; отчёт `done` с `changed: []`, `jira_calls = 1`