Render the client's REAL board inline on the dev-only preview (the board sibling of DEC-0047's inline graph)

task-preview-inline-client-board

task confidence inferred status backlog 2026-06-17 owner sveltekit-engineer
source log-auditor — surfaced recording 0047-client-preview-renders-real-okf-graph-inline; the decision NAMES the board half as the next follow-up (the same readKbAtoms(dir) + a shared board view-model would let the board render inline too). Board globbed before filing — task-board-site-surface is done (the production /board, a different surface) and task-svelteify-board-interactions is the JS rewrite, not the inline-on-preview rendering; neither duplicates this.

Render the client's REAL board inline on the dev-only preview

The dev-only client landing preview renders the client's REAL OKF knowledge graph inline — via three atomic no-copy-paste extractions (readKbAtoms(dir), buildGraphView, GraphExplorer) that read the client's served OKF directly without perturbing the process-wide DOSSIER_KB or the prerendered /graph made the dev-only client landing preview (/preview/<slug>) render the client's REAL OKF knowledge graph inline beneath the landing — over a shared buildGraphView + <GraphExplorer>, reading the client's served OKF directly via the new readKbAtoms(dir) param (Lenient KB-atom reader in @dossier/okf-view (readKbAtoms) — faithful getCollection reproduction for the SvelteKit app), without perturbing the process-wide DOSSIER_KB or the prerendered /graph.

The board half is still un-tailored. The preview's "live surfaces" showcase card for /board links to Dossier's own board in the monorepo dev server (DOSSIER_KB unset → /board reads knowledgeDir() = Dossier's own task atoms), which contradicts the tailored page's claim that both surfaces read the client's OKF — the exact gap DEC-0047 just closed for the graph, still open for the board.

The work

Render the client's OWN task atoms inline beneath the landing — the board sibling of DEC-0047's inline graph. The mechanism mirrors DEC-0047 exactly:

Invariants (same as DEC-0047)

READ-ONLY + KB-agnostic (Adopt OKF as Dossier's canonical knowledge format / Agentic "sprint board" architecture — a git-resident OKF task board worked by bounded, hook-governed Agent SDK loops — the surface only reads task atoms, never git add/commit/push); read the client dir directly so the process-wide DOSSIER_KB and the prerendered /board are untouched; crash-safe honest empty board on a missing/empty dir; DEV-ONLY by construction (the preview route 404s in prod, the registry imports only inside the import.meta.env.DEV gate, so no client copy ships).

Why a task, not a fix-in-place

A shared board view-model extraction + a new inline render on the preview surface, with its own in-browser re-proof, is real Principal SvelteKit Engineer work — owner judgment, not a one-token hygiene fix. confidence: inferred (agent-filed from DEC-0047's named follow-up, not human-curated).

Coordinate, don't duplicate

Depends on (ordering hint) Svelte-ify the board's ~270 lines of vanilla-JS interactivity (the DEC-0043 / Phase-7 fast-follow) — the board's onMount interactivity is being Svelte-ified separately; land the shared view-model against whichever board shape is current. Board globbed before filing: Render the board as a derived `/board` surface in @dossier/site is done (the production /board, a different surface) and Svelte-ify the board's ~270 lines of vanilla-JS interactivity (the DEC-0043 / Phase-7 fast-follow) is the JS rewrite, not the inline-on-preview rendering — neither covers this.