Документация hide-closed: README без статуса по факту, дата в сценарии, рулинги в design.md (#57)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Andrey Epifancev 2026-10-17 11:54:15 +04:00
parent 80cff5bcfb
commit 212aebfc4a
3 changed files with 37 additions and 19 deletions

View File

@ -186,7 +186,10 @@ launchctl kickstart -k gui/$(id -u)/ru.aepif.jira-hub
читает те же ключи `localStorage`, что прежняя страница. Разработка: `bash web/scripts/test-hub.sh` (тестовый хаб читает те же ключи `localStorage`, что прежняя страница. Разработка: `bash web/scripts/test-hub.sh` (тестовый хаб
:8791 с синтетическими данными) и `cd web && npm run dev` (http://127.0.0.1:5173/app/). :8791 с синтетическими данными) и `cd web && npm run dev` (http://127.0.0.1:5173/app/).
Карточка задачи: в шапке — статус Jira, статус по факту, исполнитель, срок (просроченный — красным), спринт и эпик; Список задач по умолчанию скрывает закрытые (статус Jira из настройки `closed_statuses`, по умолчанию «Готово», «Снято»):
флажок «скрыть закрытые», снятый — `closed=1` в адресе; на доске закрытые задачи и их связи приглушены.
Карточка задачи: в шапке — статус Jira, исполнитель, срок (просроченный — красным; у закрытой задачи пометки нет), спринт и эпик;
связи сгруппированы «Зависит от» / «Блокирует» / «Связана с» / «Прочие» с темой и статусом связанной задачи; связи сгруппированы «Зависит от» / «Блокирует» / «Связана с» / «Прочие» с темой и статусом связанной задачи;
комментарии из Jira (агент v10+) новые сверху, «Скрыть» запоминается в браузере; заметки — режим чтения, «Править» комментарии из Jira (агент v10+) новые сверху, «Скрыть» запоминается в браузере; заметки — режим чтения, «Править»
открывает форму. Комментарии появляются после первого обновления из Jira агентом v10. открывает форму. Комментарии появляются после первого обновления из Jira агентом v10.

View File

@ -69,20 +69,35 @@
## Decisions made without discussion ## Decisions made without discussion
- 2026-10-17 — **набор закрытых статусов в настройке хаба `closed_statuses`**, а не константой в коде. Обоснование: 1. 2026-10-17 — **набор закрытых статусов в настройке хаба `closed_statuses`**, а не константой в коде. Обоснование:
правило «Справочники из настроек хаба», фильтр нужен и серверу, и приложению. Цена ошибки: лишний ключ настроек; правило «Справочники из настроек хаба», фильтр нужен и серверу, и приложению. Цена ошибки: лишний ключ настроек;
убрать — правка `DEFAULTS` и двух мест чтения. убрать — правка `DEFAULTS` и двух мест чтения.
- 2026-10-17 — **фильтр `hide_closed` на сервере**, а не в браузере. Обоснование: порции по 50. Цена ошибки: один 2. 2026-10-17 — **фильтр `hide_closed` на сервере**, а не в браузере. Обоснование: порции по 50. Цена ошибки: один
параметр API; поведение MCP не меняется. параметр API; поведение MCP не меняется.
- 2026-10-17 — **адрес: `closed=1` — показать закрытые; по умолчанию параметра нет.** Обоснование: умолчание владельца 3. 2026-10-17 — **адрес: `closed=1` — показать закрытые; по умолчанию параметра нет.** Обоснование: умолчание владельца
«скрыты», адрес без лишних параметров. Цена ошибки: переименование параметра. «скрыты», адрес без лишних параметров. Цена ошибки: переименование параметра.
- 2026-10-17 — **выбранный в «Статус Jira» закрытый статус отменяет скрытие.** Обоснование: иначе выборка всегда пуста. 4. 2026-10-17 — **выбранный в «Статус Jira» закрытый статус отменяет скрытие.** Обоснование: иначе выборка всегда пуста.
Цена ошибки: поведение одного сочетания фильтров. Цена ошибки: поведение одного сочетания фильтров.
- 2026-10-17 — **приглушение: `opacity .4`, полная яркость под указателем и с фокусом клавиатуры внутри; стрелки — если закрыт хотя бы один 5. 2026-10-17 — **приглушение: `opacity .4`, полная яркость под указателем и с фокусом клавиатуры внутри; стрелки — если закрыт хотя бы один
конец.** Обоснование: владелец подтвердил «связи тоже бледнеют»; степень прозрачности — на глаз, отличается от конец.** Обоснование: владелец подтвердил «связи тоже бледнеют»; степень прозрачности — на глаз, отличается от
соседа (`.7`, пунктир). Цена ошибки: правка CSS. соседа (`.7`, пунктир). Цена ошибки: правка CSS.
- 2026-10-17 — **без `closed_statuses` — ничего не закрыто, без сообщения об ошибке.** Обоснование: это не словарь 6. 2026-10-17 — **без `closed_statuses` — ничего не закрыто, без сообщения об ошибке.** Обоснование: это не словарь
подписей, без него страница работает как раньше. Цена ошибки: нет. подписей, без него страница работает как раньше. Цена ошибки: нет.
- 2026-10-17 — **«просрочено» — по статусу Jira из `closed_statuses`.** Обоснование: статус по факту из приложения 7. 2026-10-17 — **«просрочено» — по статусу Jira из `closed_statuses`.** Обоснование: статус по факту из приложения
убран. Цена ошибки: пометка «просрочено» у задачи, закрытой по факту, но не в Jira, — теперь видна (это и есть убран. Цена ошибки: пометка «просрочено» у задачи, закрытой по факту, но не в Jira, — теперь видна (это и есть
статус Jira). статус Jira).
Решения исполнения (маркеры по ledger SDD):
8. 2026-10-17 — **R-1: e2e-шаг флажка — `click()` + `not.toBeChecked()` вместо `uncheck()`.** Обоснование: флажок
управляется адресом, React Router меняет его навигацией асинхронно, `uncheck()` проверяет состояние сразу после
щелчка; так же устроен «только соседи». Цена ошибки: нет, поведение то же.
9. 2026-10-17 — **R-2: «PUT заметки не шлёт `fact_status`» отдельным тестом не дублируется.** Обоснование: тест
сохранения в `IssueCard.test.tsx` идёт на фикстуре с `fact_status` и сравнивает тело целиком. Цена ошибки: нет.
10. 2026-10-17 — **R-3: в заметке без данных — 4 прочерка вместо 5.** Обоснование: полей заметки в приложении
четыре по спеке. Цена ошибки: нет.
11. 2026-10-17 — **R-4: тест приглушения на доске считает закрытые по статусам выборки.** Обоснование: в фикстуре
`hub-basic` уже есть AURORA-9006 «Готово». Цена ошибки: нет.
12. 2026-10-17 — **R-5: находки финального ревью M-1 (README описывал статус по факту в карточке) и M-2 (формат даты в
сценарии спеки) исправлены, а не отложены.** Обоснование: документация и спека — источник истины — противоречили
поведению; тестом не проверяются. Цена ошибки: нет.

View File

@ -162,7 +162,7 @@ SHALL сообщать об этом с кнопкой «Закрыть»; ха
#### Scenario: Просрочка закрытой задачи #### Scenario: Просрочка закрытой задачи
- **WHEN** у AURORA-1620 срок 2026-10-01, сегодня 2026-10-17, статус Jira «Готово» - **WHEN** у AURORA-1620 срок 2026-10-01, сегодня 2026-10-17, статус Jira «Готово»
- **THEN** в строке под темой «срок 01.10.2026» без пометки «просрочено»; при статусе «В работе» — с пометкой - **THEN** в строке под темой «срок 01.10» без пометки «просрочено»; при статусе «В работе» — с пометкой
### Requirement: Служебные заметки ### Requirement: Служебные заметки
Карточка задачи SHALL показывать служебные заметки в режиме чтения: «Вид работы», «Сделано», Карточка задачи SHALL показывать служебные заметки в режиме чтения: «Вид работы», «Сделано»,