Files
board-viewer/.tasks/STATUS.md
vitya 9dda6298f0 task(review): independent review done, findings filed
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>
2026-05-22 15:16:36 +03:00

76 lines
3.9 KiB
Markdown
Raw 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.
# Task Board
_Updated: 2026-05-22_
## 🟢 [board-viewer-pointers] — pre-impl: fill Domain conventions with design-context pointers
**Status:** done
**Where I stopped:** pointer-блок вставлен в `.wiki/CLAUDE.md` Domain conventions; коммит готов, ждёт push.
**Next action:** push после approval; затем разблокировать `board-viewer-gitea-reader`.
**Branch:** master
---
## 🟢 [board-viewer-gitea-reader] — Gitea API reader → normalized task structure
**Status:** done
**Where I stopped:** TaskRecord контракт реализован (parser+gitea+reader+config); 25 тестов; typecheck clean. Тесты используют 3 реальных STATUS.md fixture'а.
**Next action:** разблокировать html-render — потребляет `readBoard(client, repos) → TaskRecord[]`.
**Branch:** master
---
## 🟢 [board-viewer-html-render] — render 5-col kanban from normalized structure
**Status:** done
**Where I stopped:** render+cli+static готовы; 17 render тестов; smoke-verified против real Gitea (78 records, 4 repos), both toggle modes работают, drawer lazy-fetch'ит markdown.
**Next action:** разблокировать cron-deploy — артефакт `dist/index.html + dist/static/` готов для systemd+traefik.
**Branch:** master
---
## 🟡 [board-viewer-cron-deploy] — docker-compose stack on VDS (board.kzntsv.site)
**Status:** code-complete (waiting on user-side deploy actions)
**Where I stopped:** deploy/ полностью написан (compose + Dockerfile.build + nginx.conf + auth.toml.example + .env.example + README). Compose syntax валидируется. Изменён mechanism: docker stack вместо systemd timer (user choice).
**Next action:** user-side — DNS A-запись, `docker build && push`, bootstrap `/opt/stacks/board-viewer/` на VDS, `compose up -d`, smoke curl. После — установить 🟢.
**Branch:** master
---
## 🟢 [board-viewer-review] — review checkpoint (umbrella)
**Status:** done
**Where I stopped:** independent review выполнен subagent'ом (clean context, не имплементер). 43/43 тестов pass, secret hygiene clean, TDD-immutability чисто. 2 Major + 6 minor/nitpick findings зафайлены как follow-up таски ниже.
**Next action:** взять одну из ⚪ fix-тасок (readme-emoji или card-meta).
**Branch:** master
---
## ⚪ [board-viewer-readme-emoji-fix] — fix stale emoji legend in README.md
**Status:** ready
**Where I stopped:** review нашёл; trivial 1-line fix.
**Next action:** обновить `README.md:5` на `⚪ open / 🔴 in-progress / 🟡 paused / 🔵 blocked / 🟢 done` + заполнить TBD "Quick start" блок.
**Branch:** master
---
## ⚪ [board-viewer-card-meta-fix] — add owner pill + last-commit-marker to cards
**Status:** ready
**Where I stopped:** review нашёл acceptance gap — `project_owner` есть в JSON но не выводится; `last_commit_iso` только в relative age, не абсолютной дате.
**Next action:** TDD render + симметрично client-side board.js. См. `board-viewer-card-meta-fix.md`.
**Branch:** master
---
## ⚪ [board-viewer-polish] — bundle of 6 minor/nitpick findings from review
**Status:** ready
**Where I stopped:** detailed list в task-файле; парсер comment, formatAge future-ts test, gitea-reader decisions-log clarification, filter status multi-select, docker healthcheck+stderr, parallel commit-iso.
**Next action:** забирать items по одному. См. `board-viewer-polish.md`.
**Branch:** master
---
<!--
Status legend:
🔴 Active — only one at a time
🟡 Paused — in progress, resumable
⚪ Ready — defined, not started
🟢 Done — kept until merged
🔵 Blocked — waiting on external input
-->