synops/docs/retninger/status_quo.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

3.3 KiB

Status quo — Hva Sidelinja er i dag

Historisk dokument (v1). Denne teksten beskriver tilstanden i v1 — workspace-basert arkitektur, CRUD-mønster, fragmentert navigasjon. Den er bevart som referanse for å forstå utgangspunktet for de vedtatte retningene i docs/retninger/.

En redaksjonell webapp med ambisiøse primitiver og tradisjonell overflate.

Hva fungerer

Meldingsboksen som universell primitiv

Den viktigste arkitekturbeslutningen. Én datamodell — meldingsboksen — er underlag for chat, kanban-kort, kalenderoppføringer, notater og faktoider. I stedet for fem separate domenemodeller har vi én fleksibel primitiv med view-konfigurasjoner oppå. Dette er genuint uvanlig og gir oss muligheter de fleste redaksjonelle verktøy ikke har.

Kunnskapsgrafen

Nodes og edges i PostgreSQL gir en rik struktur for å koble alt med alt — personer, temaer, episoder, fakta. Dette er ryggraden i det redaksjonelle arbeidet og skiller Sidelinja fra enklere verktøy.

Self-hosted med full kontroll

Hetzner VPS, Caddy, Authentik, Forgejo. Ingen avhengighet til skytjenester vi ikke kontrollerer. For et journalistisk verktøy er dette ikke bare en preferanse — det er et prinsipp.

AI som infrastruktur, ikke feature

LiteLLM som gateway, BYOK-modell, Whisper for transkripsjon. AI er ikke en knapp i UI-et — det er en del av maskineriet. Jobbkø-arkitekturen gjør at tunge operasjoner aldri blokkerer brukeropplevelsen.

Hva som er tradisjonelt

Navigasjon

Brukeren beveger seg mellom /chat, /kanban, /kalender som separate sider. Til tross for at datamodellen er universell, føles opplevelsen fragmentert — som et sett med separate verktøy som deler database.

Interaksjonsmodell

CRUD-mønsteret dominerer: opprett, rediger, slett, flytt. Interaksjonen er form-basert og eksplisitt. Brukeren "administrerer innhold" mer enn de "jobber sammen i et miljø."

Sanntid som tillegg

Sanntid (opprinnelig via SpacetimeDB, nå PG LISTEN/NOTIFY + WebSocket) er lagt til, men arkitekturen er PostgreSQL-først. Sanntid er noe som skjer med tradisjonelle operasjoner, ikke noe som er grunnlaget for opplevelsen.

Spenninger

To sannhetskilder (historisk, nå løst)

PG og SpacetimeDB hadde et komplisert forhold. Denne spenningen er løst ved fjerning av SpacetimeDB (mars 2026) — PG er nå eneste datakilde, med sanntid via LISTEN/NOTIFY + WebSocket.

Ambisiøs bunn, forsiktig topp

Meldingsboksen og kunnskapsgrafen åpner for opplevelser vi ikke leverer ennå. Datamodellen sier "alt henger sammen" — men UI-et sier "her er chatten, her er kanban-brettet, her er kalenderen." Grunnmuren er mer spennende enn det brukeren ser.

Produksjonsverktøy vs opplevelse

Sidelinja er designet for podcast-produksjon, men pendler mellom å være et effektivt arbeidsverktøy og noe mer oppslukende. Studioet og møterommet peker mot sanntidsopplevelser. Redaksjonen og kanban peker mot tradisjonelt prosjektstyringsverktøy. Begge er gyldige, men de trekker i ulike retninger.

Oppsummert

Sidelinja har en sterkere grunnmur enn overflaten viser. Meldingsboksen, kunnskapsgrafen og AI-infrastrukturen er genuint interessante primitiver. Spørsmålet er ikke om vi har bygget feil — men om overflaten utnytter det fundamentet faktisk tillater.