synops/docs/features/visuell_graf.md
vegard b5aa5bb243 Fjern SpacetimeDB komplett (oppgave 22.4)
SpacetimeDB er nå helt fjernet fra Synops. Sanntid håndteres av
PG LISTEN/NOTIFY + WebSocket i portvokteren (maskinrommet).

Kode fjernet:
- spacetimedb/ Rust-modul og spacetime.json
- maskinrommet/src/stdb.rs (HTTP-klient for STDB-reducers)
- frontend module_bindings/ (23 auto-genererte filer)
- spacetimedb npm-avhengighet fra package.json
- scripts/test-sanntid.sh (testet STDB-flyt)

Infrastruktur:
- Docker-container stoppet og fjernet fra docker-compose.yml
- Caddy: fjernet /spacetime/* reverse proxy
- maskinrommet-env.sh: fjernet STDB_IP og SPACETIMEDB_*-variabler
- .env.example: fjernet SpacetimeDB-seksjoner

Dokumentasjon oppdatert:
- CLAUDE.md: stack, lagmodell, kjerneprinsipper, driftsmodell
- docs/arkitektur.md: skrivestien, lesestien, datalag, teknologivalg
- docs/retninger/datalaget.md: migrasjonshistorikk, status "fjernet"
- 37 andre docs oppdatert (features, concepts, infra, ops, retninger)
- Alle kode-kommentarer med STDB-referanser oppdatert

Verifisert: maskinrommet bygger og starter OK, frontend bygger OK,
helsesjekk returnerer 200. Caddy reloadet.
2026-03-18 13:39:09 +00:00

1.5 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.
  • Graf-visualisering er basert på 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.
  • Tilgangsstyrt: noder filtreres via node_access-matrisen.