Render the board as a derived `/board` surface in @dossier/site
task-board-site-surface
Render the board as a derived /board surface
Agentic "sprint board" architecture — a git-resident OKF task board worked by bounded, hook-governed Agent SDK loops directs a thin board view over the OKF files (Backlog.md proves a terminal + web board over markdown-in-git). It must be a derived, read-only view (Adopt OKF as Dossier's canonical knowledge format): the site reads task atoms and renders them; it never writes — all claim/transition/completion is agent-only (enforced by Build the PreToolUse claim/lease governance hook).
Shape
src/pages/board.astro— a chrome-light page (likeindex.astro) that queriesgetCollection('docs', (e) => e.data.type === 'task')and renders tasks grouped bystatus, with priority chips, owner/assignee, anddependenciesresolved through the existing id→route map.- Extend
okfFieldsincontent.config.tswith the task fields (otherwise Zod strips them); reuseOkfRelatedfor typed edges; consider anOkfTaskcomponent for the status/claim affordances. - KB-agnostic via
knowledgeDir()/DOSSIER_KB(KB-agnostic @dossier/site (renders any tenant's OKF KB) + runtime-driven site rendering + the Node-26 Windows build fix) andDOCS_ENABLED-gated so the landing-only production build doesn't render an empty board.
Depends on
Design the OKF `task` concept type + seed the board — the task ids must be in the KB (and the schema known) before the route map and the query work. Design-system hues for status/priority (warm-stone-safe, dark-mode-safe, color never load-bearing) are an Principal UX Engineer sub-item.
Closed 2026-06-17 — superseded but delivered
The capability this task specified — a read-only, KB-agnostic, status-grouped /board derived from the OKF task atoms — is live, but it landed in @dossier/app (SvelteKit), not the Astro @dossier/site the criteria assume. DEC-0043 ported the board surface (board.astro → packages/app/src/routes/(app)/board/+page.server.ts + +page.svelte, Phase 3) and replaced the Astro getCollection/Zod reader with @dossier/okf-view `readKbAtoms` (a lenient, schema-free KB reader that surfaces every task atom). The loader is read-only by construction, KB-agnostic (DOSSIER_KB/knowledgeDir()), groups into lifecycle columns, degrades unknown statuses to neutral, and renders the honest empty state on an empty KB. Verified green + live in production this session. Closed by the Principal Forward Deployed Engineer as board hygiene while diagnosing why the board wasn't closing out backlog items — the work shipped with the migration, the card just never flipped.