Andrey Epifancev 8c606ff8a0 Архив OpenSpec: sp-estimation-board (#113)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 22:29:43 +04:00

3.0 KiB
Raw Blame History

Why

25.10.2026 первый пакет оценок (64 команды ensure_fields со story_points из сессии awp-ca) остановился на первой же команде: Jira банка отвечает на PUT /rest/api/2/issue/{key} «Field cannot be set. It is not on the appropriate screen, or unknown». Поле оценки customfield_15852 («Story point estimate») верное, но его нет на экране редактирования: в Jira оценку можно поставить только из бэклога Scrum. Владелец проверил в браузере: в Jira банка есть GET /rest/agile/1.0/issue/AURORA-1704/estimation?boardId=4216 → {"fieldId":"customfield_15852","value":1.0}, а у доски 4216 в настройках estimation.field.fieldId = customfield_15852. Этот же ресурс принимает PUT и пишет оценку в поле доски без проверки экрана.

What Changes

  • Команды: ensure_fields со story_points получает board_id доски проекта задачи — хаб дописывает при постановке по тем же правилам, что у ensure_sprint (422: задача вне проектов, разные доски, нет доски, канбан, тип не известен); от клиента board_id — 422; command_retry снимает board_id и определяет доску заново.
  • Агент v16 (design-only change agent-v16-sp-estimation в jira-agent, issue jira-agent#53): оценка из ensure_fields с board_id — через GET/PUT /rest/agile/1.0/issue/{key}/estimation?boardId=…; остальные поля — как раньше; без board_id — как v15.
  • MCP: описание batch_create сообщает, что board_id у ensure_fields со story_points хаб дописывает сам.

Non-Goals

  • Оценки на канбан-досках: команда отклоняется при постановке (решение владельца 25.10.2026; канбан-проектов с оценками пока нет).
  • Чтение оценки в refresh через доску: поле field_ids.story_points = customfield_15852 верное, чтение не меняется.
  • Схема зеркала, API чтения, веб — не меняются.

Impact

  • src/sdlc_hub/modules/jira/hooks.py (_assign_boards, retry_params), src/sdlc_hub/modules/jira/mcp.py (описание batch_create), тесты tests/test_api.py, tests/test_commands.py/tests/test_mcp.py.
  • Агент: jira-agent/src/agent.py (do_ensure_fields, AGENT_VERSION = 16).
  • Выкатка: хаб (pull, kickstart, /mcp reconnect) → agent publish v16 → живая проверка оценки одной задачи → min_agent_version = 16 → пакет оценок заново.