Files
board-viewer/.tasks/board-viewer-ux-show-slug.md
vitya cfa4572731 tasks: round1 UX feedback — 6 dev-tasks + review umbrella [board-viewer-ux-round1-review]
User первые впечатления после go-live board.kzntsv.site:
- drawer падает TypeError (приватные репо + no browser token; bundle md
  в build-time — единственно верное решение)
- slug не виден на карточке (только в data-attr)
- дата без времени, неясный формат
- owner-pill дублируется (single-owner whitelist → visual noise)
- нет нумерации задач (BV-12 / T-001 shorthand нужен)
- done-tail слишком длинный (нужен render-side cutoff/collapse)

Все 6 — code-impl в board-viewer (не deploy → не в .admin, per workshop §5).
TDD posture везде (project follow tdd-criteria).

Drawer bug = critical (clear-impl: bundle md в build-time, root-cause grounded).
Show-slug + full-datetime = clear-impl, простой TDD-цикл.
Owner-conditional = clear-impl (single vs multi owner branches), 2 fixtures.
Task-numbers + done-cutoff = design-first (4 open questions каждый),
brainstorm если recommendations не пройдут single-session.

+ review umbrella 🔵 blocked-by 6 slug'ами (workshop §4 mandatory).

Ops-handoff (rebuild image + Portainer pull) — отдельная taska в
.admin/[board-viewer-redeploy-ux-round1] (workshop §5).
2026-05-22 18:39:01 +03:00

26 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# board-viewer-ux-show-slug
## Goal
Карточка не показывает slug визуально. Юзер видит только description (первая строка после `## 🟢 [<slug>] — <desc>`) и не понимает «какая это таска по имени». `data-slug` атрибут есть, но в header карточки не рендерится.
Добавить slug как видимый sub-heading или badge в верхней части карточки (под/над description-line, в моноширинном шрифте чтобы выделялся).
## TDD posture
**Mode = TDD** (project `follow tdd-criteria`). Сначала failing render-test: ожидать что output `renderCard(record)` содержит `<code class="card-slug">board-viewer-pointers</code>` (или эквивалент). Затем impl в `src/render.ts`.
## Key files
- `src/render.ts` (рендер карточки — добавить slug-element)
- `static/board.css` (стиль `.card-slug` — monospace, dim color, маленький)
- `tests/render.test.ts` — новый тест
## Acceptance
- Slug виден на каждой карточке (любой статус)
- Тест: html-output карточки содержит slug в parseable form (не только в data-атрибуте)
- Smoke: визуально на board.kzntsv.site после redeploy — slug читается, не сливается с description
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: .workshop / 2026-05-22 / trigger: user-ux-feedback-round1 -->