- 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>
1.6 KiB
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ærePART_OFet annet Tema, en Aktør kan værePART_OFen 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.