OSVauco/docs/HANDOFF-LOCAL-LLM-GITEA-MCP.md
chris e435cd5d3a
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:07:51 +00:00

177 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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:05 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 — PEND ING
### ⏳ FASE 7 Lokal hjerne / derivat-modell — 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)
```
---
## 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_status``live`, `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 |
Verifisering:
```bash
curl -s "https://dns.google/resolve?name=git.vauco.no&type=A" \
| python3 -c "import json,sys; d=json.load(sys.stdin); ans=d.get('Answer'); print(ans[0]['data'] if ans else 'IKKE PROPAGERT')"
```
---
## SMOKE-TEST STATUS
| Kategori | Tools | Status |
|---|---|---|
| Ollama/Emma | `list_emma_models`, `run_emma` | ⏳ Pending |
| Gitea | `list_commits`, `get_file_content`, `list_repo_files`, `push_file` | ⏳ Pending |
| GCP/Cloud Run | `get_build_status`, `describe_service`, `list_gce_instances` | ⏳ Pending |
| Workspace/Gmail | `list_workspace_users`, `get_emails`, `list_calendar_events` | ⏳ Pending |
| Terminal/Billing | `run_terminal`, `get_connector_status`, `get_billing_summary` | ⏳ Pending |
| Jason | `run_jason` | ⏳ Pending |
---
## 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 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 eget identitetsdokument (tilsvarende GEMINI.md for Jason) med:
- Personlighet og tone
- Arbeidsregler og prioriteringer
- Tool-bruksprinsipper
- Vauco OS-kontekst
---
## ÅPNE PUNKTER
1. Smoke-test alle 37 tools **kjøres nå**
2. `git.vauco.no` propagering sjekk i morgen tidlig
3. Fase 7: `gemma3:12b` test CPU-VM
4. Emma derivat-dokument (tilsvarende GEMINI.md)
5. Gitea-commits GPG-signering vurder
## 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 pending
- `git.vauco.no` live propagering pågår
- Fase 7: lokal hjerne verifisert 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 |