Oppdatert basert på ekstern tilbakemelding. Nye proposals for
kildevern, podcasting 2.0, web clipper, waveforms, editor,
tekst-primitiv og avisvisning. Oppdatert meldingsboks med
slette-semantikk, entity resolution i kunnskapsgrafen, og
AI gateway med kildevern-modus.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- EntitiesBlock: liste med søk/filter, opprett, rediger, slett,
relasjonsvisning med navigering mellom entiteter
- GraphBlock: SVG force-directed layout via traverse API,
pan/zoom, drag noder, dobbeltklikk for å utforske
- EntityAutocomplete: #-mention med debounced søk, tastaturnavigering,
dropdown med typefarger og aliaser
- Registrert entities block-type + kunnskapsgraf-side i seed
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Oppdaterer dokumentasjon basert på tre eksterne arkitekturvurderinger:
- RLS Leak Hunter med CI-test og audit-trigger (migration_safety.md)
- pgvector-migrasjon flyttet til Lag 2, WAL-arkivering med pgBackRest (ARCHITECTURE.md, produksjon.md)
- Off-site backup med rclone, Docker cgroups for workers (ARCHITECTURE.md, produksjon.md)
- Kostnadskontroll i AI Gateway: workspace-budsjett, auto-fallback (ai_gateway.md)
- Gjeste-token sikkerhetsdybde: ClamAV, rate limiting, auto-revoke (den_asynkrone_gjesten.md)
- SpacetimeDB fase 1-vurdering: PG LISTEN/NOTIFY som mellomsteg (synkronisering.md)
- Kritiske events (Aha-markører) flushes umiddelbart (synkronisering.md)
- Ekstern helsesjekk, observability-utvidelser (ARCHITECTURE.md)
- Tre nye forslag: Contradiction Detector, Auto-Highlight Reel, Audience Voice Memo
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Migrering 0004: notes-tabell (nodes i kunnskapsgrafen)
- REST API: GET/PATCH notat
- PG-adapter med 500ms debounce og 10s polling
- NotesBlock: tittel + fritekst med auto-lagring og status
- Seed: notater for begge workspaces, kalenderside med 2-1 layout
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- ARCHITECTURE.md: Kalender markert [~] i Lag 2
- docs/features/kalender.md: Oppdatert med implementert status, API-docs, tidssone-håndtering
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Migrering 0003: calendars + calendar_events (nodes i kunnskapsgrafen)
- REST API: GET kalender med tidsvindu, POST/PATCH/DELETE hendelser
- PG polling-adapter med adapter-factory
- CalendarBlock: månedsrutenett, heldags vs. tidshendelser, fargevelger
- Seed: kalender for begge workspaces, kalenderside i sidekonfig
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- ARCHITECTURE.md: Kanban markert [~] i Lag 2, authentik_oidc lagt til erfaringslogg
- docs/features/kanban.md: Full rewrite med implementert status, API-docs, datamodell
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Både workspace-switch og direkte navigering til rot-URL
lander nå på første konfigurerte side i stedet for tom oversikt.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Authentik sin OIDC sub-claim er en SHA256-hash, ikke PostgreSQL UUID.
@auth/sveltekit sin interne user.id er en annen UUID som ikke matcher.
Løsning: lagre profile.sub som authentik_sub i JWT-tokenet og bruk
den som session.user.id.
Ny erfaringsfil: docs/erfaringer/authentik_oidc.md
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- ARCHITECTURE.md: SvelteKit+Authentik merket ferdig i Lag 1, prod docker-compose dokumentert
- CLAUDE.md: Oppdatert prod-status
- produksjon.md: Lag B-C verifiseringsliste oppdatert med deploy-dato
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
SvelteKit (web/):
- Komplett app-skjelett med Authentik SSO (dev-bypass lokalt)
- Workspace-modell med cookie-basert switching og RLS-kontekst
- Komponerbare sider (PageGrid + BlockShell + block registry)
- Chat med adapter-mønster: PG-polling og SpacetimeDB hybrid-adapter
- Brukeridentitet fra Authentik/dev-login flyter til chat-meldinger
- API-ruter for channels, messages og health
SpacetimeDB (spacetimedb/):
- Rust WASM-modul med ChatMessage og SyncOutbox-tabeller
- send_message reducer med sync outbox for fremtidig PG-persistering
- Genererte TypeScript-bindings for klient-integrasjon
Infra:
- SpacetimeDB lagt til i docker-compose.dev.yml
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Omorganiser docs/: konsepter, features, infra og proposals i egne mapper
- Ny docs/erfaringer/ med lærdommer fra chat-implementering (Svelte 5, SpacetimeDB, adapter-mønster)
- Oppdater ARCHITECTURE.md: Lag 1 status, ny §10 Erfaringslogg, SpacetimeDB i lokal dev
- Oppdater synkronisering.md med implementeringsstatus og designvalg
- Oppdater lokal.md med SpacetimeDB og AI Gateway
- Utvid PG-skjema med channels, messages, media_files, message_revisions
- Legg til seed_dev.sql, migration_safety.md, .env.example
- Nye feature-specs: chat, kanban, whiteboard, live_ai, lydmeldinger m.fl.
- Nye konsept-specs: studioet, møterommet, redaksjonen, den asynkrone gjesten m.fl.
- SpacetimeDB og AI Gateway i docker-compose.dev.yml
- collect-docs.sh inkluderer erfaringer/
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- LiteLLM container i docker-compose.dev.yml med healthcheck
- Config med sidelinja/rutine (Gemini 2.5 Flash Lite) og
sidelinja/resonering (Gemini 2.5 Flash) — flere leverandører
legges til når API-nøkler er klare
- collect-docs.sh samler all dokumentasjon til én fil for deling
- Gitignore: server_context.md (generert output)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Første migrasjon (0001) med komplett databasearkitektur:
- nodes/graph_edges grafmodell med relasjonstyper
- Faktoider og meldinger med stemme-system (opp/ned)
- Chat med redigeringshistorikk, tråding og research-clips
- Content-addressable mediefiler (SHA-256 deduplisering)
- PostgreSQL-basert jobbkø med SKIP LOCKED
- Brukertabell som tynn cache fra Authentik
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Sett opp docker-compose.dev.yml med PostgreSQL, Redis, Caddy og Whisper
- Benchmarket faster-whisper (small/medium/large-v3) med norsk tale
- Besluttet medium + initial_prompt som standard, SRT som master-format
- Ny feature-spec: AI Gateway (LiteLLM) med BYOK og Promptfoo-testing
- Definert dataklassifisering (kritisk/gjenskapbar/avledet/flyktig)
- Konkretisert backup-strategi med pg_dump, rsync og restore-prosedyre
- Splittet repos: sidelinja/server (kode) + sidelinja/sidelinja (innhold)
- Oppdatert lokal.md: utviklingsmiljø for kode, ikke prod-replika
- Dokumentert transkripsjonspipeline: Whisper SRT → Git → PG (avledet)
- Live AI-assistent: small-modell, flyktig logg med 30d TTL
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>