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.
77 lines
3.3 KiB
Markdown
77 lines
3.3 KiB
Markdown
# 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.
|