- static/board.js: full rerender on toggle-grouping; by-project mode = N cols
per project with status-badge inside cards, sorted by canonical status order
- static/board.css: drop placeholder, add .badge.status
- src/gitea.ts: getLatestCommitIso returns null on 404 (path never existed
remotely; seen on books repo where some per-task slugs in STATUS.md
don't have file in default branch) + new test
- .gitignore: dist/ already present; add .playwright-mcp/, board-*.png
Smoke-verified: dist/index.html, 78 records from 4 repos, both toggle modes
work in browser, drawer lazy-fetches markdown.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>