Files
board-viewer/.tasks/2026-05-22-00212-board-viewer-ux-task-numbers.md

3.1 KiB
Raw Blame History

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 с момента создания»