synops/docs/erfaringer/sesjon_20250320.md
vegard 40d75b8711 Sesjonsnotat 19-20. mars: komplett oppsummering av fremdrift
Domene/ruting, workspace UI, synops-agent, admin, chat med AI,
dokumentasjon, opprydding. Status og neste steg dokumentert.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 07:12:18 +00:00

3.9 KiB
Raw Blame History

Sesjon 19-20. mars 2026 — oppsummering

Gjort i denne sesjonen

Domene og ruting

  • ws.synops.no som app, synops.no som statisk landingsside
  • adm.synops.no som admin-arbeidsflate (eget subdomain)
  • Cookie-domene .synops.no for delt sesjon mellom subdomener
  • Fjernet ORIGIN-hardkoding (AUTH_TRUST_HOST=true)
  • Erfaringsnotat: docs/erfaringer/multi_subdomain.md

Workspace UI

  • Unifisert ContextHeader (brukes overalt, innstillinger, tema, kontekst-velger)
  • Fargevelger med per-element kontroll (canvas, header, bokser, rammer, aksent, tekst)
  • Forhåndsdefinerte temaer + 6 bruker-slots
  • Panel-resize fungerer (alle kanter og hjørner)
  • Canvas: klikk-dra=pan, Ctrl+scroll=zoom, piltaster, kameraposisjon lagres
  • Z-order: sist berørt boks øverst (persistent)
  • Paneler husker brukerens foretrukne størrelse
  • Nye paneler plasseres i viewport-sentrum
  • Toolbar: /+/○/#/fullskjerm med konsistent formspråk
  • Klikk prosent = reset til 100% (ankret til viewport-sentrum)
  • Canvas fanger ikke lenger klikk/tastatur fra panel-innhold
  • Lukk i fullskjerm fungerer (DOM-element flyttes tilbake fra body)

Nye paneler/traits

  • Node Explorer: søk, filtrer, klikk edges, inline redigering
  • Web Viewer: iframe-basert nettleser med bokmerker
  • AI-verktøy og Ressursforbruk som BlockShell-paneler

synops-agent

  • 5088 linjer Rust, kompilerer
  • 6 providers: OpenRouter, Anthropic, Gemini, xAI, OpenAI, Ollama
  • Testet med OpenRouter/Gemini Flash — fungerer
  • ACC, retry, REPL, planmodus, git, graf, daemon, checkpoint

Admin

  • adm.synops.no med admin-arbeidsflate
  • API-nøkler: kryptert lagring i PG (AES-256-GCM), admin-UI, test-tilkobling
  • model_config tabell: erstatter LiteLLM YAML
  • model_pricing tabell: kostnadsestimat

Chat med AI

  • Claude Code-chat fungerer med sanntidslevering
  • handler_mode: internal/external/paused i agent_identities
  • To trigger-spor: permanent deltaker (member_of) vs @bot-nevnelse
  • synops-respond: node+edge+access i én transaksjon (løser sanntid)
  • WS-fix: sjekk PG direkte for nye noder (INSERT)
  • Modellnavn i metadata vises som avsender

Dokumentasjon

  • docs/retninger/kvalitetsprinsipper.md (inline i CLAUDE.md)
  • docs/infra/admin_arbeidsflate.md
  • docs/infra/claude_code_polling.md
  • docs/infra/brukerklasser.md
  • docs/infra/nøkkelhåndtering.md
  • docs/infra/oppgaver.md
  • docs/erfaringer/multi_subdomain.md
  • docs/erfaringer/access_propagering.md
  • Proposals: agent_harness, skjermen, rollebasert_arv, mine_ting, chat_merging, chat_forum_dualitet, varsling, universell_input

Opprydding

  • Sidelinja-referanser → synops.no i kode og docs
  • AI-aliaser: sidelinja/rutine → synops/low, sidelinja/resonering → synops/high
  • Forgejo ROOT_URL → git.synops.no
  • Authentik redirect URIs oppdatert
  • suggest-edges orkestrering fikset ($NODE_ID)
  • 437 feilede orchestrate-jobber ryddet

Status ved sesjonslutt

Fungerer

  • ws.synops.no: arbeidsflaten med alle paneler og tema
  • adm.synops.no: admin-arbeidsflate med Node Explorer og Web Viewer
  • Chat med @bot: trigger, svar via OpenRouter, sanntidslevering
  • API-nøkler: kryptert i PG, admin-UI for å legge inn/teste/deaktivere
  • model_config: modell-mapping i PG (erstatter LiteLLM YAML)

Pågående arbeid (neste steg)

  • synops-respond leser API-nøkler fra PG (ikke env) og modell fra model_config
  • Fjerne LiteLLM som avhengighet (synops-respond snakker direkte med providers)
  • Admin-UI for model_config (hvilken modell brukes til hva)
  • Brukerklasser med token-budsjett

Kjente bugs

  • suggest-edges orkestrering: args ikke propagert riktig (delvis fikset)
  • Noen trait-komponenter har hardkodede farger i style-blokker (delvis fikset)

Viktige konfigverdier

  • handler_mode: internal (synops-respond via eksternt API)
  • SYNOPS_MASTER_KEY: i /srv/synops/.env og /tmp/maskinrommet.env
  • OpenRouter API-nøkkel: kryptert i api_keys-tabell
  • Claude Code chat: abe2edfd-986b-45ba-8c2e-4461a8a7e480
  • Claude agent node: d3eebc99-9c0b-4ef8-bb6d-6bb9bd380a44