meta(tasks): migrate .tasks to v2 (global numbering 16 tasks)

This commit is contained in:
vitya
2026-08-23 10:18:33 +03:00
parent f50e37804f
commit 695c1aad1e
16 changed files with 32 additions and 16 deletions

View File

@@ -0,0 +1,29 @@
# board-viewer-ux-owner-conditional
## Goal
User: «`OpeItcLoc03` — почему везде один и тот же owner? Зачем он вообще?» Owner-pill добавлен `board-viewer-card-meta-fix` как differentiator для cross-owner whitelist'а, но в текущем VDS-конфиге все 5 репо в одном namespace (`OpeItcLoc03/*`) → pill дублируется на каждой карточке, visual noise.
Рендерить owner **условно**: если на текущем рендере все видимые карточки имеют один и тот же owner — pill скрыть, owner один раз показать в шапке доски (например «Owner: OpeItcLoc03 (5 repos)»). При ≥2 distinct owners — pill вернуть на карточки.
## TDD posture
**Mode = TDD**. Failing test: render с фикстурой single-owner → cards без `.owner-pill`, шапка содержит owner-summary. Render с фикстурой multi-owner → cards содержат `.owner-pill`, шапка без owner-summary (или с list). Затем impl.
## Key files
- `src/render.ts` — pre-render scan distinct owners, conditional output
- `static/board.css` — стиль для header owner-summary
- `tests/render.test.ts` — два теста (single-owner / multi-owner fixtures)
## Acceptance
- При single-owner whitelist карточки чище (без duplicate pill); owner один раз в шапке
- При multi-owner — pill возвращается, шапка не дублирует
- Тесты pass
## Notes
- Связанная ops-проверка (см. `.admin/[board-viewer-redeploy-ux-round1]`): верифицировать что `board_viewer_repos` в `/opt/stacks/board-viewer/auth.toml` корректно — `books` по memory `Gitea owner namespace` должен быть `victor/books`, не `OpeItcLoc03/books`. Если auth.toml корректен и whitelist single-owner — UI conditional работает как задумано.
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: .workshop / 2026-05-22 / trigger: user-ux-feedback-round1 -->