closes board-viewer-review Subagent code-review against design spec + acceptance criteria found: - 2 Major: README emoji legend stale (board-viewer-readme-emoji-fix), card meta missing owner pill + last-commit-marker (board-viewer-card-meta-fix) - 6 minor/nitpick bundled as board-viewer-polish All shipped code: 43/43 tests pass, TDD-immutability clean, secret hygiene OK. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.6 KiB
2.6 KiB
board-viewer-card-meta-fix
Goal
Card meta сейчас содержит title + project + age. Acceptance criteria board-viewer-html-render.md строка 19-24 явно перечисляет 5 полей:
- title (труб 80 chars) ✅
- project badge ✅
- owner (если есть) — pill ❌ (поле
project_ownerесть в TaskRecord и JSON, но не выводится) - age (relative) ✅
- last-commit-marker — короткий hash или дата ❌ (есть только relative age от
last_commit_iso, абсолютной даты/хэша нет)
html-render таска закрылась без этих полей — gap. Не было замечено при self-review (потому и нужен independent reviewer).
Key files
src/render.ts:111-127—renderCard()(server-side первая рендер-проходка)static/board.js:76-89—renderCard()(client-side rerender при toggle-grouping)tests/render.test.ts— добавить assertions для двух новых полейstatic/board.css— стиль для.badge.ownerесли нужно отличать визуально
Acceptance criteria
- Card showing
project_owneras a pill (CSS class.badge.owner), скрыт если поле пустое. - Card showing last-commit-marker: minimum — ISO date
YYYY-MM-DD(короткая дата, NOT relative). Hash недоступен из API без extra call → opt for date. - Возможность размещения: либо как третий meta-span после age, либо как tooltip на age (
title="<iso>"); решение имплементера. - 2+ TDD tests:
- card with
project_ownershows owner pill containing the value - card with
last_commit_isoshows date (e.g.2026-05-22) — separate from relative age
- card with
- Обе ветки (server-side
src/render.ts+ client-sidestatic/board.js) синхронны.
Decisions log
- 2026-05-22: задача из review-чекпойнта; severity=major (acceptance gap, не self-replied).
- Open: owner pill всегда показывать или только при variability (когда есть >1 owner в выборке)? — рекомендация: всегда показывать когда поле не null (нет смысла фильтровать на rendering этапе).
Completed steps
- (фиксируется при выполнении)
Notes
TDD obligatory — render логика, не visual. Тестируется через DOM-property assertions (как в render.test.ts).