promote: workshop/board-viewer brainstorm → concepts + 5 tasks

- concepts/board-viewer.md (design, promoted from .workshop)
- .tasks/STATUS.md + 5 per-task files:
  - board-viewer-pointers (pre-impl, status=ready)
  - board-viewer-gitea-reader (impl, TDD, status=ready)
  - board-viewer-html-render (impl, TDD, blocker=gitea-reader)
  - board-viewer-cron-deploy (impl, infra carve-out, blocker=html-render)
  - board-viewer-review (umbrella, status=blocked)

TDD-mode embedded in impl-tasks per follow tdd-criteria trigger in CLAUDE.md.
MCP write-side workaround per memory reference_projects_meta_resolveTarget_bug.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
vitya
2026-05-22 08:21:59 +03:00
parent d0dc686a65
commit 27465089b5
9 changed files with 414 additions and 15 deletions

View File

@@ -1,21 +1,51 @@
# Task Board
_Updated: 2026-05-22_
## ⚪ [board-viewer-pointers] — pre-impl: fill Domain conventions with design-context pointers
**Status:** ready
**Where I stopped:** только что промочен дизайн из `.workshop/.brainstorm/board-viewer.md` в `concepts/board-viewer.md`; `.wiki/CLAUDE.md` ещё содержит дефолтный setup-wiki stub в Domain conventions, без ссылок на дизайн.
**Next action:** вставить блок «Mandatory: read design context before implementation» в `.wiki/CLAUDE.md` Domain conventions (готовый текст в `board-viewer-pointers.md`), коммит `wiki(claude): add design-context pointers for board-viewer`, push.
**Branch:** master
---
## ⚪ [board-viewer-gitea-reader] — Gitea API reader → normalized task structure
**Status:** ready
**Where I stopped:** дизайн зафиксирован, реализация не начата. Это первая импл-таска, остальные impl-таски зависят от её типов.
**Next action:** прочитать `board-viewer-pointers.md` next-action блок → выполнить `board-viewer-pointers` сначала; затем стартовать с TDD по контракту в `board-viewer-gitea-reader.md`.
**Blocker:** board-viewer-pointers (нет Domain conventions с указанием на спецификацию)
**Branch:** master
---
## ⚪ [board-viewer-html-render] — render 5-col kanban from normalized structure
**Status:** ready
**Where I stopped:** ждёт `board-viewer-gitea-reader` (использует его типы).
**Next action:** после ready-стейта reader'а — TDD по контракту в `board-viewer-html-render.md`.
**Blocker:** board-viewer-gitea-reader
**Branch:** master
---
## ⚪ [board-viewer-cron-deploy] — systemd timer + traefik + DNS on VDS
**Status:** ready
**Where I stopped:** ждёт `board-viewer-html-render` (нужен артефакт для деплоя).
**Next action:** после готового HTML-рендера — добавить traefik label, DNS A-запись `board.kzntsv.site`, systemd timer на ~5 мин, basic-auth через traefik. См. `board-viewer-cron-deploy.md`.
**Blocker:** board-viewer-html-render
**Branch:** master
---
## 🔵 [board-viewer-review] — review checkpoint (umbrella)
**Status:** blocked
**Where I stopped:** дизайн зафиксирован, импл ещё не начата.
**Next action:** дождаться 🟢 у всех blocker-тасок (включая `board-viewer-pointers`). Прочитать спецификацию `.wiki/concepts/board-viewer.md`. Для каждой импл-таски: `git log --oneline`, прогнать тесты, сверить с acceptance criteria. Findings → follow-up tasks через `mcp__projects-meta__tasks_create`.
**Blocker:** board-viewer-pointers; board-viewer-gitea-reader; board-viewer-html-render; board-viewer-cron-deploy
**Branch:** master
---
<!--
Add one block per task, sorted by priority. Use the emoji status legend below.
Per-task deep context lives in .tasks/<task-slug>.md (created on demand by using-tasks).
Block format:
## 🔴 [task-slug] — short description
**Status:** active
**Where I stopped:** one sentence — the exact thought or action interrupted
**Next action:** one concrete step to resume immediately
**Blocker:** (only if blocked) what is preventing progress
**Branch:** git branch name
---
Status legend:
🔴 Active — only one at a time
🟡 Paused — in progress, resumable