analyst(ET): auto-commit from analyst run_id=3
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
type: brd
|
||||
work_item_id: ET-001
|
||||
title: "BRD: Чекбокс показа/скрытия POI в кнопке рельефа"
|
||||
version: 3
|
||||
version: 4
|
||||
status: proposed
|
||||
created_at: 2026-06-14
|
||||
updated_at: 2026-06-14
|
||||
@@ -77,7 +77,7 @@ relates_to: ET-002
|
||||
|
||||
| Риск | Митигация |
|
||||
|------|-----------|
|
||||
| Переименование подписи ломает unit-тест, проверяющий текст | Проверить `tests/unit/poi_toggle.test.js` / `tests/unit/test_poi_toggle.py`; обновить ожидание текста синхронно с правкой |
|
||||
| Переименование подписи ломает существующий регресс-тест ET-002: `tests/unit/test_poi_toggle.py:54` жёстко проверяет `assert "<span>POI</span>" in html` | Обновить ожидание текста в этом тесте на `<span>Показывать POI</span>` **в том же коммите**, что и правку `index.html:88`. JS-тест `poi_toggle.test.js` подпись не проверяет — его трогать не нужно |
|
||||
| Восприятие задачи как «нечего делать» (дубликат ET-002) | Чёткая дельта BR-2 + полный регресс-пакет верификации |
|
||||
| Коллизия артефактов с барьерной задачей под тем же ID | Барьерные артефакты заархивированы; данный пакет — канонический для POI-ET-001 |
|
||||
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
type: trz
|
||||
work_item_id: ET-001
|
||||
title: "ТЗ: Чекбокс показа/скрытия POI в кнопке рельефа"
|
||||
version: 2
|
||||
version: 3
|
||||
status: proposed
|
||||
created_at: 2026-06-14
|
||||
updated_at: 2026-06-14
|
||||
author: "agent:analyst"
|
||||
relates_to: ET-002
|
||||
---
|
||||
@@ -22,8 +23,15 @@ relates_to: ET-002
|
||||
### REQ-F-01 — Подпись чекбокса «Показывать POI» (НОВАЯ ПРАВКА)
|
||||
- В попапе рельефа (`#terrain-popup`) чекбокс `#poi-visible-cb` должен
|
||||
иметь текстовую подпись **«Показывать POI»**.
|
||||
- Текущее состояние: подпись — «POI» (`src/web/index.html`, узел
|
||||
`<span>` рядом с `#poi-visible-cb`).
|
||||
- Текущее состояние: подпись — «POI» (`src/web/index.html:88`, узел
|
||||
`<span>POI</span>` рядом с `#poi-visible-cb`).
|
||||
- **Жёсткая связь с существующим тестом (важно для исполнителя):** правка
|
||||
ломает регресс ET-002 `tests/unit/test_poi_toggle.py:54` —
|
||||
`assert "<span>POI</span>" in html`. Эту проверку нужно обновить на
|
||||
`<span>Показывать POI</span>` **в том же коммите**, иначе `make test`
|
||||
упадёт. (JS-тест `tests/unit/poi_toggle.test.js` текст подписи **не**
|
||||
проверяет — он извлекает поведенческий блок по маркерам и подписи не
|
||||
касается.)
|
||||
- Приёмка: видимый текст подписи равен «Показывать POI»; layout попапа не
|
||||
ломается (одна строка, без обрезки) на desktop и mobile.
|
||||
|
||||
@@ -88,10 +96,13 @@ relates_to: ET-002
|
||||
|
||||
## 4. Объём изменений для ET-001
|
||||
|
||||
1. `src/web/index.html`: заменить текст подписи `<span>POI</span>` →
|
||||
1. `src/web/index.html:88`: заменить текст подписи `<span>POI</span>` →
|
||||
`<span>Показывать POI</span>` у `#poi-visible-cb`.
|
||||
2. Синхронно обновить unit-тест, если он проверяет текст подписи
|
||||
(`tests/unit/poi_toggle.test.js`).
|
||||
2. **Синхронно** обновить ожидание текста в существующем регресс-тесте
|
||||
ET-002 `tests/unit/test_poi_toggle.py:54` (`assert "<span>POI</span>"
|
||||
in html` → `assert "<span>Показывать POI</span>" in html`). Без этого
|
||||
`make test` упадёт. *(Уточнение: текст подписи проверяет именно
|
||||
python-тест; JS-тест `poi_toggle.test.js` его не трогает.)*
|
||||
3. Прогнать регрессию по REQ-F-02…REQ-F-07 (поведение ET-002 не должно
|
||||
измениться).
|
||||
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
type: acceptance-criteria
|
||||
work_item_id: ET-001
|
||||
title: "Критерии приёмки: Чекбокс показа/скрытия POI"
|
||||
version: 2
|
||||
version: 3
|
||||
status: proposed
|
||||
created_at: 2026-06-14
|
||||
updated_at: 2026-06-14
|
||||
author: "agent:analyst"
|
||||
relates_to: ET-002
|
||||
---
|
||||
|
||||
@@ -6,6 +6,13 @@ status: blocked-needs-owner-decision
|
||||
created_at: 2026-06-12
|
||||
author: "agent:analyst"
|
||||
recommendation: close-as-duplicate-of-ET-002
|
||||
analyst_stage: complete # POI BRD/ТЗ/AC/тест-план/UI закоммичены (см. §10, прогон #22)
|
||||
correction_note: >
|
||||
Прогон #22 (2026-06-14): инвентаризация §3/§9 устарела. Вопреки прежней
|
||||
формулировке «стандартный пакет осознанно не выпущен», аналитический пакет
|
||||
POI (01-brd/02-trz/03-ac/04-test-plan/04b-ui) УЖЕ закоммичен как POI
|
||||
(HEAD == рабочее дерево). Аналитический этап завершён; блокер — только
|
||||
решение Owner. Детали — §10.
|
||||
supersedes_note: >
|
||||
Краткая авторитетная сводка по ET-001. Подробный (избыточный) лог
|
||||
предыдущих прогонов — в 08-analyst-finding-duplicate.md. Это 19-я
|
||||
@@ -184,3 +191,58 @@ ET-002) + коллизия ID ET-001 с барьерной задачей. Бе
|
||||
с «POI».
|
||||
- **Новый ID** → выдать POI-запросу свежий ID (действие оркестратора), `ET-001`
|
||||
оставить барьерной задачей (вернуть POI-файлы из `archive/`).
|
||||
|
||||
## 10. Прогон #22 (2026-06-14) — независимая ре-верификация + корректировка факта
|
||||
|
||||
Перепроверил все ключевые утверждения по **живому коду** и `git` (рабочее
|
||||
дерево `docs/work-items/ET-001/` = HEAD, чисто). Итоги:
|
||||
|
||||
**(A) Функция в проде — подтверждено (дубликат ET-002).**
|
||||
- `src/web/index.html:86–89` — `#poi-visible-cb` (`checked`) внутри `#terrain-popup`,
|
||||
подпись `<span>POI</span>`.
|
||||
- `src/web/app.js:2906–2960` — блок `>>> ET-002 POI visibility block <<<`:
|
||||
`applyPoiVisibility()`, `onPoiCheckbox()` → `localStorage['poi-visible']`,
|
||||
`restorePoiState()`; вызывается при загрузке (`:136`) и смене стиля/темы
|
||||
(`:3485`, `:3499`) → персистентность между сессиями И при смене темы.
|
||||
- Реальные unit-тесты присутствуют: `tests/unit/poi_toggle.test.js`,
|
||||
`tests/unit/test_poi_toggle.py`.
|
||||
|
||||
**(B) КОРРЕКТИРОВКА устаревшего факта из §3/§4/§9.** Инвентаризация прежних
|
||||
прогонов утверждала, что HEAD `01-brd.md` — барьерный и что «стандартный
|
||||
пакет осознанно не выпущен». Это **неверно** по фактическому HEAD. Истинная
|
||||
классификация закоммиченных файлов (по `git show HEAD:…` + заголовкам):
|
||||
|
||||
| Файл @ HEAD | Факт (прогон #22) | Этап |
|
||||
|---|---|---|
|
||||
| `00-business-request.md` | 🚧 барьеры | вход (не мой) |
|
||||
| `01-brd.md` | 📍 **POI** (v3) | аналитик ✅ |
|
||||
| `02-trz.md` | 📍 **POI** | аналитик ✅ |
|
||||
| `03-acceptance-criteria.md` | 📍 **POI** | аналитик ✅ |
|
||||
| `04-test-plan.yaml` | 📍 **POI** (v2, AC-01..10) | аналитик ✅ |
|
||||
| `04b-ui-test-cases.md` | 📍 **POI** | аналитик ✅ |
|
||||
| `06-adr/ADR-001-barrier-blocking.md` | 🚧 барьеры | архитектор (не мой) |
|
||||
| `07-infra-requirements.md` | 🚧 барьеры | архитектор/инфра (не мой) |
|
||||
| `12-review.md`, `13-test-report.md` | 🚧 барьеры | ревью/тест (не мои) |
|
||||
|
||||
Вывод: **аналитический пакет POI уже выпущен и закоммичен** (его создал
|
||||
более ранний прогон, ср. `git log` `run_id=5/6`). Все пять артефактов
|
||||
аналитика — POI, без барьерного содержимого (упоминания барьеров в 01/02 —
|
||||
лишь контекст про архив/коллизию ID). **Этап «Анализ» по POI — завершён;
|
||||
новой аналитической работы нет.** Барьерные остатки — в файлах ЧУЖИХ этапов
|
||||
(00/06/07/12/13), править их аналитику запрещено (CLAUDE.md №2).
|
||||
|
||||
**(C) Единственная дельта поведения** между запросом и продом — косметическая:
|
||||
подпись «POI» (в UI) vs «Показывать POI» (в запросе). Это правка кода (этап
|
||||
разработки), не аналитики.
|
||||
|
||||
**(D) Действие прогона.** Эскалация Owner в этом (интерактивном) прогоне —
|
||||
запрос с 3 вариантами §5 **отклонён без выбора**. Зацикливать эскалацию не
|
||||
стал. Применён безопасный дефолт: деструктивных действий нет, барьерные и
|
||||
POI закоммиченные артефакты не тронуты, дубликат не создан, разработка не
|
||||
начата. Внесена только данная корректировка факта в собственный
|
||||
аналитический мета-артефакт (этот файл) — чтобы будущие прогоны не выводили
|
||||
повторно ложный вывод «пакет не выпущен».
|
||||
|
||||
**Итог.** Этап «Анализ» завершён (пакет POI в наличии и корректен). Задача
|
||||
остаётся `blocked-needs-owner-decision`; рекомендация прежняя —
|
||||
**закрыть ET-001 как дубликат ET-002** (закрытие за Owner/CI, CLAUDE.md №4).
|
||||
|
||||
Reference in New Issue
Block a user