10 KiB
type, work_item_id, title, status, created_at, author, recommendation, supersedes_note, escalation
| type | work_item_id | title | status | created_at | author | recommendation | supersedes_note | escalation |
|---|---|---|---|---|---|---|---|---|
| analyst-decision-record | ET-001 | ET-001 «чекбокс POI» — анализ завершён: дубликат ET-002 + конфликт ID, нужно решение Owner | blocked-needs-owner-decision | 2026-06-12 | agent:analyst | close-as-duplicate-of-ET-002 | Краткая авторитетная сводка по ET-001. Подробный (избыточный) лог предыдущих прогонов — в 08-analyst-finding-duplicate.md. Это 19-я проверка задачи; выводы прогонов 1–18 совпадают с приведёнными ниже. | Эскалация Owner через интерактивный запрос предпринята в этом прогоне; интерактивного ответа не получено (headless-режим). Деструктивных и дублирующих действий НЕ выполнено. Применён безопасный дефолт: ждать решения Owner; стандартный пакет артефактов осознанно не выпущен. |
Заключение аналитика — ET-001 (решение за Owner)
Анализ завершён. Новая разработка НЕ требуется. Стандартный пакет (BRD/ТЗ/AC/тест-план) осознанно не выпущен — его выпуск здесь был бы одновременно деструктивным и бессмысленным (см. §4).
1. Поставленная задача
ET-001 — «Добавить чекбокс показа/скрытия POI маркеров в кнопку рельефа». В выпадающем меню кнопки рельефа — чекбокс «Показывать POI»; по умолчанию включён; при снятии POI скрываются; состояние сохраняется между сессиями.
2. Блокер №1 — функция уже реализована и в проде (дубликат ET-002)
Запрошенное поведение полностью поставлено в рамках ET-002 «Чекбокс
показа/скрытия POI на карте» (бизнес-запрос ET-002 дословно совпадает с
ET-001). Пакет ET-002 содержит 09-review.md, 12-review.md,
13-test-report.md — задача прошла разработку, ревью и тестирование.
| Ожидание ET-001 | Реализация в feature/ET-001-poi |
Статус |
|---|---|---|
| Чекбокс в попапе кнопки рельефа | src/web/index.html:86–89 — #poi-visible-cb в #terrain-popup |
✅ |
| По умолчанию включён | index.html:87 (checked) + restorePoiState() (дефолт — видимы) |
✅ |
| Снятие скрывает POI | app.js applyPoiVisibility(false) → poi-circles, poi-labels → visibility:none |
✅ |
| Сохранение между сессиями | app.js onPoiCheckbox() → localStorage['poi-visible']; restorePoiState() при загрузке и смене темы |
✅ |
| Авторство | блок-маркеры >>> ET-002 POI visibility block <<<; ADR docs/work-items/ET-002/06-adr/adr-0001-poi-visibility-client-side.md |
— |
Единственное отличие от формулировки ET-001 — подпись чекбокса: в UI сейчас «POI», в запросе — «Показывать POI». Это косметическая дельта в один текстовый узел, не новая функциональность.
3. Блокер №2 — конфликт идентификатора work item
Каталог docs/work-items/ET-001/ содержит закоммиченные (git ls-files)
утверждённые артефакты совершенно другой задачи —
«Исключить шлагбаумы и тротуары из OSRM графа» (фаза PH-7, 2026-05-15):
00-business-request.md, 01-brd.md, 02-trz.md,
03-acceptance-criteria.md, 04-test-plan.yaml,
06-adr/ADR-001-barrier-blocking.md, 07-infra-requirements.md,
12-review.md, 13-test-report.md. (Копия также лежит в
archive-2026-05-barriers-osrm/, но канонические закоммиченные файлы —
по-прежнему барьерные.)
4. Почему стандартный пакет НЕ выпущен
Создание 01-brd.md … 04-test-plan.yaml с POI-содержимым в этом каталоге
означало бы:
- перезапись закоммиченных утверждённых артефактов по барьерам — деструктивно, прямо нарушает правило проекта «никогда не править артефакты не своей задачи / других этапов»; и
- документирование уже поставленной функции — бессмысленный дубликат ET-002.
Оба действия недопустимы без явного решения Owner. Поэтому выпущена эта сводка (новый файл, существующие артефакты не тронуты).
5. Рекомендация и варианты решения (за Owner)
- (Рекомендуется) Закрыть ET-001 как дубликат ET-002 (Resolved/Duplicate). Функция в проде, разработка не нужна. Закрытие задачи выполняет Owner/CI (правило CLAUDE.md №4 — аналитик задачи не закрывает).
- Считать дельтой только подпись чекбокса («POI» → «Показывать POI»):
тогда нужен минимальный gap-пакет под именами файлов без коллизий с
барьерными артефактами и точечная правка одного
<span>вsrc/web/index.html. (Спорно: ET-002 уже принят с подписью «POI».) - Признать ID ошибочным: ET-001 закреплён за барьерной задачей, а POI-запрос пришёл под чужим ID. Выдать POI-запросу новый ID — действие Owner/оркестратора, вне полномочий аналитика.
6. Открытые вопросы к Owner / оркестратору
- Подтвердить закрытие ET-001 как дубликата ET-002.
- Подтвердить, что ID ET-001 принадлежит задаче «шлагбаумы/тротуары» (POI-запрос пришёл под чужим ID).
- Если нужна реальная доработка POI (отдельная кнопка, разбивка по типам, иконка состояния, подпись «Показывать POI») — выдать новую формулировку и новый ID с конкретной дельтой к поведению ET-002.
7. Что сделано в этом прогоне
- Перепроверены по коду и git все ключевые утверждения (см. §2–§3) — подтверждены.
- Предпринята эскалация Owner; интерактивного ответа нет (headless).
- Деструктивных изменений нет; барьерные артефакты не тронуты; дубликат POI-пакета не создавался. Выпущена только эта сводка.
8. Ре-верификация — прогон #20 (2026-06-14)
Независимо перепроверил все ключевые утверждения §2–§3 по текущему коду и git. Все подтверждены, выводы без изменений:
- Дубликат ET-002 (функция в проде).
src/web/index.html:86–89— чекбокс#poi-visible-cb(checkedпо умолчанию) внутри#terrain-popup. Вsrc/web/app.jsблок>>> ET-002 POI visibility block <<<(стр. 2906–2960):applyPoiVisibility()(управляетlayerGroups.poi→poi-circles,poi-labels),onPoiCheckbox()(пишетlocalStorage['poi-visible']),restorePoiState()(дефолт — видимы; вызывается при загрузке и смене темы, стр. 136). Ссылка на ADRdocs/work-items/ET-002/06-adr/adr-0001-poi-visibility-client-side.md. - Бизнес-запрос ET-002 (
docs/work-items/ET-002/00-business-request.md) дословно совпадает с ET-001; пакет ET-002 содержит полный трейл поставки (01-brd … 04-test-plan, 06-adr, 09-review, 12-review, 13-test-report). - Конфликт ID.
git ls-files docs/work-items/ET-001/→ закоммичены барьерные артефакты («Исключить шлагбаумы и тротуары из OSRM», approved 2026-05-15).git show HEAD:.../00-business-request.md— барьерный заголовок. Архивarchive-2026-05-barriers-osrm/— untracked-копия, не канон.
Действие прогона: повторно эскалировал решение Owner через интерактивный
запрос (3 варианта из §5) — ответа снова нет. Применён безопасный дефолт:
артефакты других этапов не тронуты, дубликат не создан, новая разработка не
начата. Задача остаётся blocked-needs-owner-decision. Рекомендация прежняя —
закрыть ET-001 как дубликат ET-002 (закрытие — за Owner/CI, CLAUDE.md №4).