OSVauco/docs/HANDOFF-LOCAL-LLM-GITEA-MCP.md
chris 0f786c781b
Some checks are pending
Check Python Version Consistency / Check Python Version (push) Waiting to run
chore: update docs/HANDOFF-LOCAL-LLM-GITEA-MCP.md via opax-mcp
2026-07-21 22:56:25 +00:00

7.9 KiB
Raw Blame History

HANDOFF-LOKAL-LLM-GITEA-MCP.md

EGEN HANDOFF UFRAVIKELIG STYRINGSDOKUMENT

GJELDER FRA NÅ OG FREM TIL 100 % FERDIGSTILLELSE

0. STATUS OG KOMMANDO

Denne handoffen er det eneste autoritative arbeidsdokumentet for sporet "lokal LLM-fabrikk + OPAX-MCP + Gitea stabilisering + blueprinting til Gitea-VM".


FREMDRIFT OPPDATERT 2026-07-22 00:55 CEST

FASE 05 — FERDIG

FASE 6 CPU-optimalisering — FERDIG

FASE 6-TILLEGG Boot-warming — FERDIG

DNS NS-bytte utført — FERDIG 2026-07-21 23:44 CEST

OPAX-MCP GITEA_URL permanent + deploy — FERDIG 2026-07-21 23:53 CEST

SMOKE-TEST Alle 37 tools — FERDIG 2026-07-22 00:25 CEST

GPG-SIGNERING Commits verified — PÅGÅR

FASE 7 Lokal hjerne / derivat-modell — PLANLAGT

FASE 8 Backup / snapshot-strategi — PLANLAGT


LÅST SYSTEMKONFIGURASJON GITEA-CPU-VM (komplett)

Systemd-dropins

override.conf    — OLLAMA_HOST=0.0.0.0:11434
max-models.conf  — MAX_LOADED_MODELS=2 + KEEP_ALIVE=-1
warmup.conf      — ExecStartPost=/usr/local/bin/ollama-warmup.sh

Operative parametere for Emma-kall

num_ctx            = 2048
num_batch          = 256
OLLAMA_NUM_THREADS = ikke satt (autodetect)

Ytelsesbudsjett per Emma-turn (varm)

3-kall turn:   ~23.5s
5-kall turn:   ~42.5s
Boot-penalty:  ~0s (warmup-skript)
Tok/s:         4.95.0 (gemma3:4b)

Gitea-dataplassering

/opt/gitea/data/repositories/chris/OSVauco.git/   ← Bare repo
/opt/gitea/data/gitea.db                          ← SQLite metadata
/opt/gitea/data/custom/conf/app.ini               ← Konfig

OPAX-MCP KONFIGURASJON LÅST

Variabel Verdi
GITEA_URL http://34.67.252.59:3000
OLLAMA_BASE_URL http://34.67.252.59:11434
EMMA_MODEL gemma3:4b
EMMA_FAST_MODEL gemma3:4b
EMMA_LIGHT_MODEL qwen2.5:3b
OSVAUCO_AGENT_URL https://osvauco-agent-357036551735.us-central1.run.app

Deploy verifisert: get_connector_statuslive, gitea: online, tool_count: 37


DNS FULLFØRT 2026-07-21

NS-bytte: Proisp → Google Cloud DNS 23:44 CEST

Record Type Verdi
vauco.no. A 34.98.77.173 (LB)
www.vauco.no. A 34.98.77.173 (LB)
opax.vauco.no. A 34.98.77.173 (LB)
git.vauco.no. A 34.67.252.59
MX / SPF / DKIM / DMARC TXT/MX Google Workspace komplett

SMOKE-TEST FULLFØRT 2026-07-22 00:25 CEST

Kategori Status Merknad
Ollama / Emma Grønn gemma3:4b varm, 14s respons
Connector Grønn live, 37 tools
Gitea read + write Grønn Commits og push OK
GCP / Cloud Run Grønn osvauco-agent Ready, rev 00695
Workspace / Gmail Grønn 3 brukere, kalender, e-post OK
Terminal / Billing Grønn Billing dramatisk ned fra 5. juli
🟡 Jason Grønn m/merknad Kjører gemini-2.5-flash (ikke Pro)

Smoke-test observasjoner

  • qwen2.5:3b har tool-calling capabilities — gemma3:4b har det ikke
  • GCE list_instances tom — ikke kritisk, Cloud Console på mobil
  • Jason mode-parameter gir 400 — bruk kun prompt
  • GPG-signering pågår — commits fortsatt unverified

FASE 7 LOKAL HJERNE / DERIVAT-MODELL (planlagt)

Mål

Erstatte stor API-modell (Gemini/Claude/Perplexity) med lokal modell som hjerne i OPAX-arkitekturen. Redusere API-avhengighet på sikt.

Arkitektur (nå vs mål)

NÅ:
Perplexity/Gemini  ←  Hjerne (stor API-modell)
       ↓ tool calls
   OPAX-MCP
       ↓
Emma gemma3:4b    ←  Lokal inferens (svak)

MÅL:
Lokal stor modell  ←  Hjerne (lokal, gratis)
       ↓ tool calls
   OPAX-MCP
       ↓
Emma gemma3:4b    ←  Lokal inferens (rask)

Kandidatmodeller for CPU-VM (15 GB RAM)

Modell RAM Tok/s CPU Agentevne Vurdering
gemma3:4b (nå) 2.9 GB ~5 Svak For svak som hjerne
gemma3:12b ~8 GB ~1.52 God Test dette først
qwen2.5:14b ~9 GB ~1.5 Sterk Alternativ
gemma3:27b ~17 GB <1 Tilnærmet god Krever GPU

Exit-kriterier Fase 7

  • gemma3:12b installert og testet på CPU-VM
  • Ytelsesmåling: tok/s, RAM-bruk, swap=0
  • Kvalitetstest: kan modellen planlegge og bruke tools?
  • GEMINI.md-lignende systemd-prompt/konfig for Emma laget
  • Beslutning: erstatter eller komplementerer?

Derivat-strategi

Emma skal få eget identitetsdokument (tilsvarende GEMINI.md for Jason) med:

  • Personlighet og tone
  • Arbeidsregler og prioriteringer
  • Tool-bruksprinsipper
  • Vauco OS-kontekst

FASE 8 BACKUP / SNAPSHOT-STRATEGI (planlagt)

Mål

Sikre at Gitea-CPU-VM (34.67.252.59) aldri er single point of failure for source of truth.

Strategi: Daglig GCP Disk Snapshot

Kilde:    Gitea-CPU-VM persistent disk
Frekvens: Daglig (02:00 CEST)
Bevaring: 7 snapshots (rullerende — siste 7 dager)
Kostnad:  ~$0.026/GB/mnd — 50 GB disk = ~$1.30/mnd

Implementasjon

# Opprett snapshot-policy
gcloud compute resource-policies create snapshot-schedule gitea-daily-backup \
  --region=us-central1 \
  --max-retention-days=7 \
  --on-source-disk-delete=keep-auto-snapshots \
  --daily-schedule \
  --start-time=00:00 \
  --storage-location=us-central1

# Koble policy til disk
gcloud compute disks add-resource-policies gitea-cpu-vm \
  --resource-policies=gitea-daily-backup \
  --zone=us-central1-b

Hva snapshots dekker

  • /opt/gitea/data/repositories/ — alle git-objekter
  • /opt/gitea/data/gitea.db — brukere, tokens, metadata
  • /opt/gitea/data/custom/conf/app.ini — konfig
  • Ollama-modeller (/usr/share/ollama/)
  • Systemd-dropins og warmup-skript

Restore-prosedyre (ved VM-tap)

# 1. Opprett ny disk fra snapshot
gcloud compute disks create gitea-restore \
  --source-snapshot=<snapshot-name> \
  --zone=us-central1-b

# 2. Koble til ny VM eller eksisterende
# 3. Gitea starter automatisk — alt er intakt

Exit-kriterier Fase 8

  • Snapshot-policy opprettet og koblet til disk
  • Første snapshot verifisert i GCP Console
  • Restore-prosedyre testet (restore til tmp-disk)
  • Kostnad bekreftet (~$1.30/mnd)

ÅPNE PUNKTER

  1. GPG-signering — få commits verified (pågår)
  2. git.vauco.no — verifiser propagering
  3. Fase 7: gemma3:12b test på CPU-VM
  4. Emma derivat-dokument (tilsvarende GEMINI.md)
  5. Fase 8: Snapshot-policy aktiveres
  6. Gitea passord byttes (eksponert i chat)

FASTE SANNHETER

  • Gitea er source of truth
  • Lokale modeller er hovedretning — mål er å fase ut API-avhengighet
  • Gitea-VM (34.67.252.59) er permanent målmaskin
  • Dev-snap (34.170.51.84) er Jason sin arbeidsstasjon — kan ikke stenges før lokal hjerne er verifisert
  • Denne handoffen overstyrer alt annet

DEFINITION OF DONE

  • Lokale modeller lever og kan brukes lokalt
  • OPAX-MCP bruker lokal modellbackend korrekt
  • list_emma_models er grønn
  • Gitea read-only tools er grønne
  • GCP/Workspace-kjernen er fortsatt grønn
  • Konfigurasjon konsolidert — GITEA_URL permanent + deployed
  • Boot-warming verifisert
  • DNS migrert til Google Cloud DNS
  • Smoke-test alle 37 tools — FERDIG
  • git.vauco.no live — propagering pågår
  • GPG-signering verified — pågår
  • Fase 7: lokal hjerne verifisert — planlagt
  • Fase 8: daglig snapshot-backup — planlagt

OPPDATERINGSLOGG

Dato Handling
2026-07-21 FASE 46: CPU-optimalisering, boot-warming fullført
2026-07-21 23:44 DNS: NS-bytte utført hos Proisp
2026-07-21 23:53 OPAX-MCP: GITEA_URL + OLLAMA_BASE_URL → 34.67.252.59, deployed
2026-07-22 00:05 Smoke-test plan klar, Fase 7 (lokal hjerne) lagt inn
2026-07-22 00:25 Smoke-test fullført — alle kategorier grønne
2026-07-22 00:55 Fase 8 (backup/snapshot) lagt inn, GPG-signering pågår