Commit graph

623 commits

Author SHA1 Message Date
46a49f5799 Task fullført: 500-ghost-cards.md 2026-03-19 20:56:56 +00:00
0ee6371f6d Task fullført: 400-oppgave-noder.md 2026-03-19 20:51:05 +00:00
a4444aa57d Task fullført: 400-nøkkelhåndtering.md 2026-03-19 20:45:34 +00:00
9c30d2fc94 Task fullført: 300-waveforms.md 2026-03-19 20:42:23 +00:00
2a74733a41 Task fullført: 300-storyboard.md 2026-03-19 20:38:43 +00:00
d1e8462439 Task fullført: 300-skjermen.md 2026-03-19 20:32:45 +00:00
ff72f38afa Task fullført: 300-editor-utvidelse.md 2026-03-19 20:24:40 +00:00
6d865cfa5a Task fullført: 300-collaborative-cursors.md 2026-03-19 20:19:16 +00:00
ee84e4218b Task fullført: 300-chat-merging.md 2026-03-19 20:16:07 +00:00
b9064985e5 Task fullført: 200-varsling.md 2026-03-19 20:09:59 +00:00
bc98e83617 Task fullført: 200-universell-input.md 2026-03-19 20:04:30 +00:00
6622b38106 Task fullført: 200-rollebasert-arv.md 2026-03-19 19:58:41 +00:00
3c182a9f0a Task fullført: 200-mine-ting.md 2026-03-19 19:55:18 +00:00
79b803dbb9 Task fullført: 200-chat-forum-dualitet.md 2026-03-19 19:52:19 +00:00
1bb907360f Task fullført: 100-workspace-modifikatorer.md 2026-03-19 19:46:04 +00:00
00b0dc42bf Fiks workspace-modifikatorer i canvas toolbar
- Legg til stopPropagation på toolbar-div for å hindre at pointer/click-events
  bobler opp til canvas-container og starter pan/lasso
- Zoom-knapper zoomer nå mot viewport-senter (som musehjul) med ±15% steg
- Fullskjerm z-index økt til 9999 (over header)
- Grid-linjer doblet i opacity (6% → 12%) for synlighet i mørkt tema
- Toolbar-separator bruker CSS-variabel i stedet for hardkodet lys farge
2026-03-19 19:45:54 +00:00
ed7dd5ea0e Task fullført: 100-ny-samtale-verktøymeny.md 2026-03-19 19:37:34 +00:00
f28799385c Flytt «Ny samtale», «Nytt brett», «Ny samling» til verktøymenyen
Verktøymenyen i header har nå en «Opprett»-seksjon over panellisten
med tre hurtigvalg:
- Ny samtale → oppretter kommunikasjonsnode, navigerer til /chat/[id]
- Nytt brett → oppretter samling med kanban-trait, navigerer til /collection/[id]
- Ny samling → navigerer til /collection/new for full oppsettflyt
2026-03-19 19:37:28 +00:00
696535d045 Task fullført: 100-hardkodede-farger-traits.md 2026-03-19 19:34:00 +00:00
b088e877ac Erstatt hardkodede hex-farger med CSS-variabler i trait-komponenter
Fjernet ~170 hardkodede hex-verdier i style-blokker across 7 filer
og erstattet med var(--color-*) for full temastøtte.

Filer: ChatTrait, EditorTrait, OrchestrationTrait, CalendarTrait,
KanbanTrait, MindMapTrait, StudioTrait.

D3-visualiseringsfarger (MindMapTrait) og fargevelger-palett
(SoundPadGrid) beholdt som funksjonelle farger.
2026-03-19 19:33:48 +00:00
b663199515 Task fullført: 100-del-med-handling.md 2026-03-19 19:26:35 +00:00
50228bae2f Task fullført: 100-deep-links.md 2026-03-19 19:23:53 +00:00
6420e306cd Task fullført: 064-admin-users.md 2026-03-19 19:19:26 +00:00
63b188641e Implementer brukeradministrasjon i admin (/admin/users)
- Backend: users_admin.rs med liste, toggle aktiv/deaktiv, AI-budsjett
- Frontend: brukeroversikt med roller, budsjett, siste aktivitet, filter
- API: fetchUsersOverview, toggleUser, updateUserBudget
2026-03-19 19:19:10 +00:00
e1f45ae8a8 Task fullført: 063-admin-agents.md 2026-03-19 19:13:21 +00:00
a50245d0ac Implementer agent-oversikt i admin (/admin/agents)
Ny admin-side som viser registrerte AI-agenter med status, token-forbruk,
aktive jobber og kjørehistorikk. Støtter kill switch for å aktivere/deaktivere.
2026-03-19 19:13:04 +00:00
819afb6f61 Task fullført: 062-admin-tasks-ui.md 2026-03-19 19:07:10 +00:00
49d03caa47 Task fullført: 061-admin-ai-routing.md 2026-03-19 19:02:02 +00:00
ec64a9f782 Task fullført: 060-admin-api-keys.md 2026-03-19 18:57:28 +00:00
d53304a0f3 Implementer API-nøkkelhåndtering med kryptert lagring
- PG-migrasjon: api_keys-tabell med krypterte nøkler (032)
- AES-256-GCM kryptering via SYNOPS_MASTER_KEY (crypto.rs)
- Admin-endepunkter: list/create/test/deactivate/delete
- Test-tilkobling for OpenRouter, Anthropic, OpenAI, Gemini
- Frontend: /admin/keys med nøkkelliste og opprettskjema
- SYNOPS_MASTER_KEY injiseres via maskinrommet-env.sh
2026-03-19 18:57:01 +00:00
b8841f7b1a Task fullført: 058-agent-checkpoint.md 2026-03-19 18:49:32 +00:00
202682e2e0 Implementer checkpoint og recovery i synops-agent
- Ny checkpoint-modul: lagrer sesjonsstatus (meldinger, tokens, oppgave) til JSON
- --resume flagg for å gjenoppta etter krasj (sesjons-ID eller "latest")
- --checkpoint-interval for å styre hvor ofte mellomtilstand lagres
- Kostnadslogging til ai_usage_log i PG ved sesjonsslutt
- Sesjonsrapport: modell, varighet, tokens, kostnad, filer endret
- Integrert i agent-loop (periodisk checkpoint), batch-modus og daemon
- Automatisk opprydding av gamle checkpoints (beholder siste 20)
2026-03-19 18:49:09 +00:00
dae4e0f3e2 Task fullført: 057-agent-subagents.md 2026-03-19 18:43:45 +00:00
e17b58cf72 Task fullført: 056-agent-daemon.md 2026-03-19 18:40:15 +00:00
450a07273a Implementer daemon/vaktmester-modus i synops-agent
synops-agent daemon: bakgrunnsprosess som poller PG for oppgaver
og meldinger. Hovedfunksjoner:

- Vaktmester-chat: finner/oppretter kommunikasjonsnode, poller
  nye meldinger, svarer via LLM
- Prefix-kommandoer: /proposal, /task, /bug, /gjør
- Modellvalg: /claude, /grok, /gemini, /lokal, /billig
- Task-polling: plukker open tasks, kjører via agent-session
- Kill switch: respekterer agent_identities.is_active
- Heartbeat-fil + PID-fil for overvåking
- SIGTERM/SIGINT-håndtering med graceful shutdown
- Stale task-frigjøring ved hver poll-runde
2026-03-19 18:39:52 +00:00
9a1ca08d26 Task fullført: 055-agent-graph.md 2026-03-19 18:32:45 +00:00
ec5fc662fe Implementer grafintegrasjon i synops-agent (PG)
Ny modul graph.rs med:
- pick_task: plukk høyest-prioritet open task atomisk (FOR UPDATE SKIP LOCKED)
- update_task_status: oppdater status (open → active → done/failed)
- write_task_message: skriv melding i oppdragets chat-node
- release_stale_tasks: frigjør tasks stuck >60 min (krasj-deteksjon)
- query_nodes/query_edges/get_node: generiske graf-spørringer

Nytt verktøy synops_query for LLM:
- action: nodes (list med kind/status-filter)
- action: edges (for en node, med retning/type-filter)
- action: get (les enkeltnode med metadata)

PG-tilkobling er valgfri — degraderer gracefully uten DATABASE_URL.
Krasj-deteksjon kjøres ved oppstart.
2026-03-19 18:32:28 +00:00
231bceabbd Task fullført: 054-agent-git.md 2026-03-19 18:26:23 +00:00
e38c77ea00 Implementer git-integrasjon i synops-agent
- Ny modul git.rs: status, log, diff, blame, commit, push, branch
- Nytt git-verktøy for LLM (8 subkommandoer)
- Auto-inkluder git-kontekst i system prompt (branch, status, siste commits)
- CLI-args: --commit-msg, --no-commit, --push/--no-push, --branch
- Auto-commit og push etter fullført batch-oppgave
- Diff-visning i output etter oppgave
- 4 nye tester for git-modulen (alle bestått)
2026-03-19 18:26:09 +00:00
0c0a6210ad Task fullført: 053-agent-plan-mode.md 2026-03-19 18:21:14 +00:00
6bd2787ee8 Implementer planmodus og selvkritikk i synops-agent
Extended ReAct Loop: tenk → plan → selvkritikk → utfør.
--plan tvinger planmodus, --no-plan deaktiverer.
Uten flagg: auto-detect basert på oppgavens nøkkelord/lengde.
/plan kommando i interaktiv modus.
2026-03-19 18:20:54 +00:00
3704a02921 Task fullført: 052-agent-interactive.md 2026-03-19 18:17:14 +00:00
a8b6c7ca7b Implementer interaktiv REPL-modus i synops-agent
- --interactive / -i starter REPL med readline (rustyline)
- Token-teller og kostnad i prompt: [12.3kT $0.042] claude-sonnet-4 >
- Ctrl+C avbryter pågående tool-kall, ikke hele agenten
- Meldingshistorikk bevares mellom turns
- Multi-line input med \ på slutten av linjen
- Innebygde kommandoer: /stats, /clear, /help, exit
- Historikk lagres i ~/.synops/agent_history.txt
- Refaktorert agent-loop til AgentSession struct for gjenbruk
- --task er nå valgfri (påkrevd kun i batch-modus)
2026-03-19 18:16:54 +00:00
00a92ebe2f Task fullført: 051-agent-retry-budget.md 2026-03-19 18:12:48 +00:00
0bfad1eb8a Implementer retry med backoff og token-budsjett i synops-agent
- Retry med exponential backoff for retryable API-feil (429, 500, 502, 503)
  med konfigurerbar --max-retries (default: 3) og Retry-After-støtte
- --max-cost flagg for token-budsjett (USD), stopper og rapporterer
  gjenstående arbeid ved budsjettgrense (exit code 2)
- Konfigurerbar --max-tokens per provider (erstatter hardkodet 4096/8192)
- Sanntids kostnadsregnskap per modell med cost_per_million_tokens-tabell
- Detaljert token/kostnad-rapport ved avslutning

Ref: docs/proposals/agent_harness.md §3 (selvovervåking)
2026-03-19 18:12:27 +00:00
1a6887f334 Task fullført: 050-agent-context-compaction.md 2026-03-19 18:08:07 +00:00
703a0addca Implementer Adaptive Context Compaction (ACC) i synops-agent
Automatisk kontekstkomprimering når meldingshistorikken nærmer seg
kontekstvinduets grense. Bruker prompt_tokens fra API-respons som
kalibreringsanker.

- Ny context.rs-modul med to kompaksjonsnivåer:
  - Moderat (>70%): trunkerer gamle tool-resultater
  - Aggressiv (>85%): kollapser eldre historikk til oppsummering
- Siste 5 meldinger bevares alltid urørt
- context_window() på LlmProvider-trait med automatisk estimering
- 5 enhetstester for kompaksjonslogikk
2026-03-19 18:07:51 +00:00
6099d0b209 Splitt agent og admin til konkrete sub-tasks (050-064)
synops-agent: 9 tasks (ACC, retry, REPL, plan, git, graf, daemon,
sub-agenter, checkpoint)
Admin: 5 tasks (API-nøkler, AI-ruting, oppgave-UI, agent-oversikt,
brukeradmin)
Totalt 55 task-filer.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 18:04:23 +00:00
a9590e4ed9 Oppdatert run-next-task.sh for filbaserte tasks
Plukker fra tasks/*.md, flytter til active/, done/ ved fullføring.
Støtter --loop (kjør kontinuerlig), --dry (forhåndsvis), --status.
Krasj-deteksjon: stale oppgaver i active/ >60 min frigjøres.
30 min timeout per oppgave.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 18:02:09 +00:00
b7de73d5d5 43 task-filer fra alle utestående oppdrag og proposals
100: 5 UI-fikser | 200: 7 høy prioritet | 300: 6 middels
400: 2 infrastruktur | 500: 7 lavthengende frukt | 600: 16 fremtidige

Fjernet tasks/ fra .gitignore — oppgaver skal spores i git
inntil oppgave-noder i PG er implementert.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 17:58:51 +00:00