Some checks are pending
Check Python Version Consistency / Check Python Version (push) Waiting to run
124 lines
5.6 KiB
Markdown
124 lines
5.6 KiB
Markdown
# 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-21 21:57 CEST
|
||
|
||
### ✅ FASE 0 – Lås situasjonen — FERDIG
|
||
- Handoff opprettet som eget dokument
|
||
- dev-snap/GPU-VM er aktiv verifikasjonsbase
|
||
- Gitea er eneste source of truth
|
||
- Lokal LLM-bane er primær retning
|
||
|
||
### ✅ FASE 1 – Lokale modeller lever — FERDIG
|
||
- Ollama kjører på Gitea-CPU-VM (34.67.252.59:11434)
|
||
- Modeller tilgjengelig via MCP: `gemma3:4b`, `qwen2.5:3b`
|
||
- Modeller på dev-snap localhost: `qwen2.5:7b`, `gemma3:4b`, `llama3.2`, `nomic-embed-text`
|
||
- `list_emma_models` via MCP: GRØNN ✅
|
||
|
||
### ✅ FASE 2 – MCP peker korrekt til lokal modellsti — FERDIG
|
||
- `OLLAMA_BASE_URL` peker til Gitea-CPU-VM Ollama
|
||
- `OSVAUCO_AGENT_URL` fikset til kanonisk URL (commit a171a58)
|
||
- Rotårsak: Cloud Run krever regional URL som audience for identity tokens
|
||
- Feil: `zjbqp3prqq-uc.a.run.app` → Riktig: `osvauco-agent-357036551735.us-central1.run.app`
|
||
- 5 filer oppdatert av Gemini-agent, build SUCCESS 55182237 (21. juli 18:38)
|
||
- opax-mcp revisjon: opax-mcp-00122-m4n
|
||
|
||
### ✅ FASE 3 – Gitea read-only grønn — FERDIG
|
||
- Rotårsak: `GITEA_URL` var ikke satt i opax-mcp Cloud Run service
|
||
- Gitea kjører på: `http://34.67.252.59:3000` (Gitea-CPU-VM)
|
||
- Fix: `gcloud run services update opax-mcp --update-env-vars GITEA_URL=http://34.67.252.59:3000`
|
||
- opax-mcp revisjon etter fix: opax-mcp-00123-g7d
|
||
- Alle 4 read-only tools GRØNNE:
|
||
- ✅ `list_commits`
|
||
- ✅ `get_file`
|
||
- ✅ `get_file_content`
|
||
- ✅ `list_repo_files`
|
||
- `get_connector_status`: `gitea_status: online` ✅
|
||
|
||
### ✅ FASE 4 – Hel kjede samtidig grønn — FERDIG 2026-07-21 20:57 CEST
|
||
Full smoke test kjørt og alle tools grønne samtidig:
|
||
|
||
| Tool | Status | Resultat |
|
||
|---|---|---|
|
||
| `get_connector_status` | ✅ | live, gitea online, 37 tools |
|
||
| `get_health` | ✅ | OK |
|
||
| `get_build_status` | ✅ | Siste build SUCCESS 55182237 |
|
||
| `describe_service` | ✅ | osvauco-agent-00695-8lk Ready |
|
||
| `list_workspace_users` | ✅ | 3 brukere returnert |
|
||
| `list_emma_models` | ✅ | gemma3:4b, qwen2.5:3b |
|
||
| `list_commits` | ✅ | Siste commits returnert |
|
||
| `list_repo_files` | ✅ | Rotmappe listert |
|
||
|
||
Ingen regresjon på tidligere grønne tools. Hele kjeden er verifisert i samme runde.
|
||
|
||
### ✅ FASE 5 – Frys blueprint på dev-snap — FERDIG
|
||
- Blueprint dokumentert i `docs/BLUEPRINT-DEV-SNAP.md`
|
||
- Full env-var, modell- og serviceoversikt frosset
|
||
- Avklart at nåværende `OLLAMA_BASE_URL` og `GITEA_URL` i praksis har pekt mot dev-snap i aktiv verifikasjonsperiode
|
||
- Gitea-CPU-VM står fast som permanent målmaskin
|
||
|
||
### ⏳ FASE 6 – CPU-optimalisering før permanent migrering — NESTE
|
||
Formål: Verifisere at Emma-arkitekturen fungerer akseptabelt på Gitea-CPU-VM før permanent cutover fra dev-snap.
|
||
|
||
Bakgrunn:
|
||
Research og testprotokoll viser at problemet ikke bare er VM-spesifikasjoner, men Emma-loopen selv. Emma MCoT gjør typisk 4–6 sekvensielle LLM-kall per brukerturn (embed → think → choose_action → execute_action, evt. compress). På gitea-cpu-vm er kaldstart målt til ca. 48–79 sekunder per modell, noe som gjør resident modellstrategi og keep_alive kritisk.
|
||
|
||
Bekreftede regler:
|
||
- `OLLAMA_KEEP_ALIVE=-1` er obligatorisk baseline
|
||
- resident modellstrategi må avklares eksplisitt (1 varm modell vs 2 varme modeller)
|
||
- `qwen2.5:7b` er ikke baseline-kandidat på gitea-cpu-vm
|
||
- CPU-optimalisering skal skje på dev-snap først (simulert CPU / `num_gpu 0`), deretter verifiseres på gitea-cpu-vm
|
||
- alle resultater føres tilbake i OPPDATERINGSLOGG samme dag
|
||
|
||
Testrekkefølge:
|
||
1. Kaldstart / keep_alive baseline
|
||
2. Resident modell-strategi (1 vs 2 modeller)
|
||
3. Parameter-matrise (`num_ctx`, `num_batch`, `OLLAMA_NUM_THREADS`)
|
||
4. Full Emma MCoT end-to-end
|
||
5. Belastningstest med samtidig Gitea + agent-last
|
||
|
||
Exit-kriterium:
|
||
- keep_alive-strategi bevist effektiv
|
||
- resident modellvalg låst
|
||
- optimal parameterkombinasjon dokumentert
|
||
- full Emma-loop latency akseptert
|
||
- 2-timers belastningstest bestått uten OOM og uten swap
|
||
|
||
---
|
||
|
||
## ÅPNE PUNKTER SOM MÅ LØSES FØR BLUEPRINT
|
||
- `GITEA_URL` satt runtime via `gcloud run services update` — **må også legges permanent inn i `opax-mcp.yaml` i repo og rebuildes**
|
||
- `git.vauco.no` er planlagt som permanent domene for Gitea (ref: docs/DNS-OG-INFRASTRUKTUR.md) — erstatter IP når DNS er oppe
|
||
- Gitea-commits er ikke GPG-signert — vurder om dette skal fikses
|
||
|
||
## FASTE SANNHETER (uendret)
|
||
- Gitea er source of truth
|
||
- Lokale modeller er hovedretning
|
||
- dev-snap/GPU-VM er nåværende verifikasjonsflate
|
||
- Gitea-VM (34.67.252.59) er planlagt permanent målmaskin
|
||
- 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 — delvis (GITEA_URL må inn i repo)
|
||
- ⏳ Ingen skjult API-/agentavhengighet som hovedbane — ikke verifisert
|
||
- ✅ dev-snap-oppsettet dokumentert godt nok til blueprinting — FASE 5 FERDIG
|
||
- ⏳ CPU-optimalisering verifisert på Gitea-VM — FASE 6
|
||
|
||
## OPPDATERINGSLOGG
|
||
| Dato | Fase | Handling |
|
||
|---|---|---|
|
||
| 2026-07-21 | FASE 4 | Full smoke test grønn, alle 8 tools OK |
|
||
| 2026-07-21 | FASE 5 | Blueprint frosset, FASE 5 lukket |
|
||
| 2026-07-21 | FASE 6 | FASE 6 åpnet — CPU-optimalisering neste |
|