server/docs/features/visuell_graf.md
vegard a5985ef3f8 Dokumentasjon, erfaringslogg, migrasjoner og infra-oppdateringer
- Omorganiser docs/: konsepter, features, infra og proposals i egne mapper
- Ny docs/erfaringer/ med lærdommer fra chat-implementering (Svelte 5, SpacetimeDB, adapter-mønster)
- Oppdater ARCHITECTURE.md: Lag 1 status, ny §10 Erfaringslogg, SpacetimeDB i lokal dev
- Oppdater synkronisering.md med implementeringsstatus og designvalg
- Oppdater lokal.md med SpacetimeDB og AI Gateway
- Utvid PG-skjema med channels, messages, media_files, message_revisions
- Legg til seed_dev.sql, migration_safety.md, .env.example
- Nye feature-specs: chat, kanban, whiteboard, live_ai, lydmeldinger m.fl.
- Nye konsept-specs: studioet, møterommet, redaksjonen, den asynkrone gjesten m.fl.
- SpacetimeDB og AI Gateway i docker-compose.dev.yml
- collect-docs.sh inkluderer erfaringer/

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 01:40:14 +01:00

1.6 KiB

Feature: Visuell Kunnskapsgraf (Graph View)

Filsti: docs/features/visuell_graf.md

1. Konsept

En interaktiv graf-visning i SvelteKit som gjør Kunnskapsgrafen visuelt navigerbar og redigerbar. Brukes i Kunnskapsgrafen-konseptet (se docs/concepts/kunnskapsgrafen.md).

2. Funksjonalitet

  • Visualisering: Viser noder (Temaer, Aktører, Faktoider, Segmenter) og relasjoner som et interaktivt nettverkskart. Bygges med D3.js eller Vis.js i Svelte-frontenden.
  • Visuell redigering: Redaksjonen kan dra streker mellom noder for å opprette nye relasjoner i graph_edges-tabellen. Velg relasjonstype (PART_OF, CONTRADICTS, MENTIONS, etc.) via en kontekstmeny.
  • Hierarkier uten mapper: PART_OF-relasjoner muliggjør fleksible prosjekthierarkier uten stive mappestrukturer. Et Tema kan være PART_OF et annet Tema, en Aktør kan være PART_OF en organisasjon, osv.
  • Filtrering: Brukeren kan filtrere grafen etter nodetype, relasjonstype, tidsperiode eller fritekst.

3. Datakilde

  • SvelteKit server-side: Henter grafdata via Recursive CTE-spørringer mot PostgreSQL og returnerer { "nodes": [...], "edges": [...] } til klienten.
  • SpacetimeDB: Brukes ikke for graf-visualisering — dette er historiske data som lever i PostgreSQL.

4. Instruks for Claude Code

  • Design JSON-responsen slik at den lett kan mates inn i graf-visualiseringsbiblioteker (D3.js, Vis.js).
  • Begrens traversering til 2-3 ledd ut fra startnode for å unngå eksplosjoner i store grafer.
  • Workspace-scopet: alle noder filtreres via nodes.workspace_id.