From 382f93132fbe12d078262b771c431639a01b4eee Mon Sep 17 00:00:00 2001 From: vegard Date: Wed, 18 Mar 2026 15:09:03 +0000 Subject: [PATCH] =?UTF-8?q?Valider=20fase=209=E2=80=9310:=20fiks=20typefei?= =?UTF-8?q?l,=20konsistens=20og=20feilh=C3=A5ndtering?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fase 9 (visninger): - graph: fiks TypeScript-feil (string|undefined → string|null) - kanban board: les kolonner fra metadata.traits.kanban.columns (konsistent med KanbanTrait), behold fallback til metadata.columns - dagbok: fiks createdAt-type (number, ikke BigInt med microsSinceUnixEpoch) Fase 10 (AI): - summarize.rs: refaktorer til cli_dispatch helper (DRY, konsistent med ai_edges.rs og tts.rs) - ai_process.rs: feil tidlig hvis LITELLM_MASTER_KEY mangler (var unwrap_or_default → tom streng → forvirrende 401) Alle 61 maskinrommet-tester bestått, alle CLI-verktøy kompilerer. LiteLLM kjører med riktig modellruting (rutine/resonering). --- frontend/src/routes/board/[id]/+page.svelte | 3 ++ frontend/src/routes/diary/+page.svelte | 10 ++--- frontend/src/routes/graph/+page.svelte | 4 +- maskinrommet/src/ai_process.rs | 3 +- maskinrommet/src/summarize.rs | 50 +++------------------ tasks.md | 3 +- 6 files changed, 19 insertions(+), 54 deletions(-) diff --git a/frontend/src/routes/board/[id]/+page.svelte b/frontend/src/routes/board/[id]/+page.svelte index a79d926..b803b3c 100644 --- a/frontend/src/routes/board/[id]/+page.svelte +++ b/frontend/src/routes/board/[id]/+page.svelte @@ -17,6 +17,9 @@ if (!boardNode) return ['todo', 'in_progress', 'done']; try { const meta = JSON.parse(boardNode.metadata ?? '{}'); + const traitConf = meta.traits?.kanban; + if (traitConf && Array.isArray(traitConf.columns) && traitConf.columns.length > 0) return traitConf.columns as string[]; + // Fallback: legacy metadata.columns path if (Array.isArray(meta.columns) && meta.columns.length > 0) return meta.columns as string[]; } catch { /* ignore */ } return ['todo', 'in_progress', 'done']; diff --git a/frontend/src/routes/diary/+page.svelte b/frontend/src/routes/diary/+page.svelte index 7e077af..9746a0f 100644 --- a/frontend/src/routes/diary/+page.svelte +++ b/frontend/src/routes/diary/+page.svelte @@ -42,9 +42,9 @@ // Sort by created_at descending (newest first) entries.sort((a, b) => { - const ta = a.createdAt?.microsSinceUnixEpoch ?? 0n; - const tb = b.createdAt?.microsSinceUnixEpoch ?? 0n; - return tb > ta ? 1 : tb < ta ? -1 : 0; + const ta = a.createdAt ?? 0; + const tb = b.createdAt ?? 0; + return tb - ta; }); return entries; @@ -102,8 +102,8 @@ const dayNames = ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag']; function nodeDate(node: Node): Date { - const micros = node.createdAt?.microsSinceUnixEpoch ?? 0n; - return new Date(Number(micros / 1000n)); + const micros = node.createdAt ?? 0; + return new Date(micros / 1000); } function formatDateKey(d: Date): string { diff --git a/frontend/src/routes/graph/+page.svelte b/frontend/src/routes/graph/+page.svelte index 8b03b10..3e01107 100644 --- a/frontend/src/routes/graph/+page.svelte +++ b/frontend/src/routes/graph/+page.svelte @@ -644,7 +644,7 @@