SpacetimeDB var brukt som «instant feedback»-lag mellom portvokteren og frontend. Nå som PG NOTIFY-triggere og WebSocket er på plass (oppgave 22.1–22.2), er STDB-skrivestien overflødig. Endringer: - intentions.rs: Alle CRUD-operasjoner (create/update/delete node/edge) skriver nå synkront til PG i stedet for STDB-først + async PG-jobbkø. PG NOTIFY-triggere gir umiddelbar sanntidsoppdatering til klienter. Tilgangsgivende edges (owner/admin/member_of/reader) bruker transaksjon med recompute_access direkte i handleren. - maintenance.rs: Fjernet StdbClient fra alle funksjoner. Varsler opprettes/oppdateres/slettes direkte i PG. - agent.rs, audio.rs, tts.rs, ai_process.rs: Fjernet STDB-synk etter CLI-verktøy-kjøring. PG NOTIFY dekker sanntidsvisning. - pg_writes.rs: Fjernet sync_node_access_to_stdb. access_changed NOTIFY-trigger håndterer dette. - workspace.rs: Synkrone PG-skrivinger med recompute_access. - summarize.rs, ai_edges.rs: Fjernet StdbClient fra signaturer. - jobs.rs: Fjernet StdbClient fra dispatch og start_worker. - main.rs: Fjernet STDB-initialisering, warmup, stdb_monitor. StdbClient fjernet fra AppState. stdb.rs beholdt som død kode (fjernes i oppgave 22.4). - health.rs: Fjernet STDB-helsesjekk fra dashboard. - Slettet warmup.rs og stdb_monitor.rs (PG→STDB-synk ikke lenger relevant). - docs/retninger/datalaget.md: Markert fase M3 som fullført. |
||
|---|---|---|
| .. | ||
| arbeidsflaten.md | ||
| bruker_ikke_workspace.md | ||
| datalaget.md | ||
| maskinrommet.md | ||
| README.md | ||
| rom_ikke_forum.md | ||
| status_quo.md | ||
| universell_input.md | ||
| unix_filosofi.md | ||
Retninger
Store, åpne spørsmål om prosjektets identitet og arkitektoniske retning.
Dette er ikke features, ikke proposals, ikke spesifikasjoner — det er teser som utforsker hvordan Sidelinja bør tenke om seg selv. En retning kan påvirke alt fra teknologivalg til UX-filosofi, men den er ikke en beslutning. Den er en pågående diskusjon.
Pipeline
retninger/ → kan informere alt:
(tese) concepts/, features/, infra/, arkitektur.md
En retning "forfremmes" ikke — den modnes, og det den konkluderer med påvirker andre dokumenter. En retning kan også forkastes eller parkeres.
Oversikt
| Retning | Status | Kjernespørsmål |
|---|---|---|
| Status quo | Referanse | Hva er Sidelinja i dag? Ankerpunkt for de andre retningene. |
| Rom, ikke forum | Åpen | Bør Sidelinja være en oppslukende sanntidsopplevelse fremfor en tradisjonell webapp? |
| Universell input og mottak | Besluttet | Én multimodal input-primitiv, én mottaksflate, kommunikasjonsnoder. Edges definerer alt. |
| Maskinrommet | Besluttet | Én Rust-tjeneste: fang, prosesser, lever. Eier all skriving. Edge-drevet ressursorkestrering. |
| Noder er sentrum | Besluttet | Alt er noder (brukere, team, innhold). Edges definerer relasjoner og tilgang. Materialisert tilgangsmatrise for RLS. |
| Datalaget | Revidert | PG er eneste datakilde. Sanntid via LISTEN/NOTIFY + WebSocket. SpacetimeDB fases ut. CAS for binærdata, AGE ved behov. |
| Arbeidsflaten | Besluttet | Spatial canvas med verktøy-paneler. Drag-and-drop skaper nye noder med edges. |
| Unix-filosofi | Besluttet | Maskinrommet orkestrerer, CLI-verktøy gjør jobben. Claude deler verktøykasse. |
Relaterte spesifikasjoner
Retningene har ført til konkrete spesifikasjoner:
docs/primitiver/traits.md— Trait-system for samlingsnoder (komposisjon av evner)docs/concepts/publisering.md— Publiseringsflyt fra privat tanke til offentlig artikkel
Format
- Hva er tesen?
- Hva motiverer den? (observasjoner, frustrasjoner, inspirasjon)
- Hva ville vært annerledes hvis vi fulgte den?
- Spenninger og åpne spørsmål
- Ingen krav om konklusjon