4.2 KiB
4.2 KiB
Why
«Статус по факту» (issue_note.fact_status) пришёл из CSV-пакета admin/jira-sync: владелец вёл его руками рядом со
статусом Jira, а jira_sync.py переводил задачи в Jira по таблице transitions.map, ключом которой был этот статус.
Владелец 17.10.2026 (brainstorming #57) решил, что поле — шум, и его нужно убрать совсем. Первым шагом (#57, PR #58)
поле убрали из веб-приложения; в базе, API, MCP, настройках и импорте оно осталось (#60).
Хаб статус по факту не использует ни для чего, кроме хранения и показа: агент ensure_status получает путь статусов в
самой команде и transitions_map/status_labels не читает; потребители MCP (awp-ca, stocks_drrk, sfm_foxpro) поле не
упоминают. Владелец 24.10.2026: сохранённые значения удалить безвозвратно (#104).
What Changes
- База, схема v8: миграция v7 → v8 удаляет колонку
issue_note.fact_statusи ключиstatus_labels,transitions_mapизsetting, поднимаетsettings_version; копия базы — вbackups/по общему правилу. - Настройки:
status_labelsиtransitions_mapуходят из умолчаний модуля jira и из ключей для агента;sdlc-hub init --configих не переносит. - API:
GET /issuesбез фильтра и поляfact_status(параметр игнорируется, как любой неизвестный);GET /boardбезfact_status;PUT /issues/{key}/noteсfact_status— 422 «неизвестные поля заметки». - MCP
sdlc-jira:issues— без колонки «статус по факту» и параметраfact_status;notes_set— без параметраfact_status;issueне выводит его в заметках. - Импорт
sdlc-hub importпропускает колонку «Статус по факту» CSV. - Веб: из типов (
Note,BoardIssue) и фикстур уходятfact_statusиstatus_labels; поведение страниц не меняется. - Спеки и документация:
data-model,hub-api,mcp,migration,modules,web-app, README, ARCHITECTURE.md. Вdata-modelисправляется отставание: «текущая — 6» при коде v7.
Non-Goals
- jira-agent: изменений не нужно, design-only change в агенте не заводится.
kind_labels,work_kindи прочие заметки — остаются.- Пункты M-3, M-4, M-5 из #60 (они про «скрыть закрытые», не про статус по факту) — остаются в #60.
- Спринты и бэклог модуля jira — следующий change.
Anti-Goals
- Потеря других данных заметок (
work_kind,done_text,rest_text,owner_note,updated_at,updated_by) при миграции. - Хаб, который после миграции снова создаёт
status_labels/transitions_map(умолчания) или отдаёт их агенту. - Падение хаба на базе v7 при старте: миграция должна пройти на живой базе без ручных шагов.
Impact
- Код:
src/sdlc_hub/core/db.py(v8),src/sdlc_hub/modules/jira/{schema,settings,mirror,api,mcp,importer}.py,web/src/modules/jira/**(типы, фикстуры), тесты и эталоныtests/fixtures/baseline/*. - Выкатка:
kickstartхаба владельцем (миграция при старте),/mcp→ reconnect в сессиях сsdlc-jira,make web(типы веба). - Закрывает пункт «Статус по факту — удалить совсем» в #60; issue #60 остаётся открытой (M-3, M-4, M-5).