Files
board-viewer/.tasks/board-viewer-ux-task-numbers.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

40 lines
3.1 KiB
Markdown
Raw Permalink 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-task-numbers
## Goal
User: «нам явно не хватает нумерации задач». Сейчас каждая задача — slug (`board-viewer-pointers`). Slug informative, но длинный. Хочется shorthand (`T-001` / `BV-12` / etc.) для разговора, ссылок, memory-references.
## Design open questions — РЕШИТЬ ДО ИМПЛА
1. **Scope нумерации:** per-repo (BV-12, BO-3) или global cross-repo (T-78)? Per-repo стабильнее (новый репо не сдвигает существующие numbers).
2. **Источник truth:** хранить number в STATUS.md (комментарий или новый field в block)? Или auto-derive из order/position?
- **Source-of-truth в STATUS.md** — стабильно (number не меняется), но требует ручной maintenance при создании каждой таски.
- **Auto-derive** — нулевая maintenance, но number меняется при reorder/insert.
- Recommend: source-of-truth, с конвенцией «при создании новой таски вписать `<!-- num: BV-NN -->` сразу после `## ...` строки». Reader парсит, рендер показывает.
3. **Format:** `BV-12`, `BV12`, `T-001`, `#12`? Recommend `BV-12` — short, читается, не конфликтует с slug.
4. **Старые таски:** нумеровать ретроактивно? Recommend да, один проход — выписать number для каждой существующей таски в каждом репо, commit отдельно «chore: number existing tasks».
## TDD posture
**Mode = TDD** (после resolve design-вопросов). Failing test: парсер извлекает `num` из STATUS.md block, render показывает badge с number в карточке. Затем impl.
## Pre-impl
- Brainstorm перед коммитом первой строки кода. Дизайн — короткий (4 вопроса выше), может занять одну session-петлю с user. Если будет нужен heavy brainstorm — стартовать `.workshop/.brainstorm/board-viewer-task-numbers.md` через `recommend-don't-menu` мод.
## Key files
- `src/parser.ts` (парсинг `<!-- num: ... -->` comment)
- `src/render.ts` (badge на карточке)
- STATUS.md всех 5 репо в whitelist (ретроактивная нумерация)
- `tests/parser.test.ts` + `tests/render.test.ts`
## Acceptance
- Каждая карточка показывает number-badge (`BV-12`) рядом со slug
- Тесты pass
- Все существующие таски в whitelist-репо имеют `<!-- num: ... -->` (или эквивалент)
- Конвенция документирована в `using-tasks` skill (или эквиваленте) — «новые таски имеют number с момента создания»
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: .workshop / 2026-05-22 / trigger: user-ux-feedback-round1 -->