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.
2.2 KiB
2.2 KiB
Konsept: Studioet (Podcast-innspilling)
Filsti: docs/concepts/studioet.md
1. Konsept
Det virtuelle podcast-studioet er Sidelinjas innspillingsmiljø. LiveKit håndterer WebRTC for flerbruker lyd/video, mens AI-assistenten lytter med og dytter relevante faktoider til programlederne i sanntid.
2. Brukeropplevelse
- Programlederne åpner studioet i SvelteKit (PWA) og kobler seg til et LiveKit-rom.
- Høykvalitetslyd streames mellom deltakerne via WebRTC.
- I bakgrunnen transkriberer Whisper lydstrømmen i chunks (~5 sek) via live transkripsjonspipelinen (se
docs/features/live_transkripsjon.md). - AI-assistenten analyserer transkripsjonen for entiteter (NER) og slår opp i Kunnskapsgrafen. Relevante faktoider popper lydløst opp på skjermen (se
docs/features/live_ai.md, studio-modus). - Programlederne kan trykke Aha-markør for å markere viktige øyeblikk. Tidsstempelet lagres i PG og synkes til frontend via WebSocket, koblet til episoden.
- Etter innspilling skyves lydfilen inn i Podcastfabrikken for full transkripsjon og publisering (se
docs/concepts/podcastfabrikken.md).
3. Komponenter
| Feature | Rolle i Studioet |
|---|---|
| LiveKit | WebRTC lyd/video mellom deltakere |
| Lydmixer | Volumslidere, mute, sound pads, stemmeeffekter, EQ (se docs/features/lydmixer.md) |
| Live transkripsjon | Whisper small for lav latens, ~1s forsinkelse (se docs/features/live_transkripsjon.md) |
| Live AI (studio-modus) | NER + faktoid-oppslag fra Kunnskapsgrafen (se docs/features/live_ai.md) |
| Aha-markør | Manuell markering av viktige øyeblikk, lagres i PG |
4. Avgrensning
- Studioet er for innspilling, ikke redigering. Klipping/postproduksjon skjer utenfor Sidelinja.
- Live-transkripsjonen her er flyktig (TTL 30 dager) — den endelige transkripsjonen lages via Podcastfabrikken med
medium+initial_prompt. - Aha-markøren deles med Møterommet (se
docs/concepts/møterommet.md), men i studio-konteksten brukes den primært til klippepunkter.
5. Utviklingsfaser
- Bygg WebSocket-lytter i frontend + dummy faktoid-push for å verifisere UI.
- Koble Whisper til et offline lydopptak, kjør NER/oppslag mot PostgreSQL.
- Koble LiveKit-strømmen til Whisper for sanntid.