40 lines
3.1 KiB
Markdown
40 lines
3.1 KiB
Markdown
# 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 -->
|