server/docs/retninger/status_quo.md
vegard 8ca9832248 Legg til ops/ (vedlikeholdsjobber) og docs/retninger/ (arkitektoniske teser)
Ny mappe ops/ med repeterbare vedlikeholdsjobber:
- ryddejobb.md — full prosjektrevisjon
- doc-audit.md — docs vs kode
- drift-sjekk.md — prod vs lokal vs docs

Ny mappe docs/retninger/ med arkitektoniske teser:
- status_quo.md — hva Sidelinja er i dag
- rom_ikke_forum.md — opplevelse-først, to-lags-modell, administrativ opplevelse
- universell_input.md — tre primitiver (input, mottak, kommunikasjon), noder+edges
- maskinrommet.md — Rust-orkestrator, edge-drevet ressursorkestrering, CAS+pruning
- bruker_ikke_workspace.md — brukeren er sentrum, workspaces er samlings-noder
- datalaget.md — PG+Apache AGE, SpacetimeDB som sanntidslag, lagmodell

Oppdatert CLAUDE.md og proposals/README.md med referanser.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-17 04:54:17 +01:00

72 lines
3.1 KiB
Markdown

# Status quo — Hva Sidelinja er i dag
> 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
SpacetimeDB er lagt til for å gi sanntidsoppdatering, men arkitekturen
er PostgreSQL-først. Sanntid er noe som *skjer med* tradisjonelle
operasjoner, ikke noe som er *grunnlaget* for opplevelsen.
## Spenninger
### To sannhetskilder
PG og SpacetimeDB har et komplisert forhold. SpacetimeDB-loven definerer
klare regler for hvem som eier hva, men selve eksistensen av loven vitner
om en arkitektonisk spenning: vi har to systemer som begge vil være
primærkilde, og vi bruker konvensjoner for å holde dem fra å kollidere.
### 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.