## 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).