chore: update docs/HANDOFF-LOCAL-LLM-GITEA-MCP.md via opax-mcp
Some checks are pending
Check Python Version Consistency / Check Python Version (push) Waiting to run

This commit is contained in:
chris 2026-07-21 18:55:42 +00:00
parent 41ad45d319
commit be39ea9f6c

View File

@ -3,132 +3,80 @@
# GJELDER FRA NÅ OG FREM TIL 100 % FERDIGSTILLELSE # GJELDER FRA NÅ OG FREM TIL 100 % FERDIGSTILLELSE
## 0. STATUS OG KOMMANDO ## 0. STATUS OG KOMMANDO
Denne handoffen er det eneste autoritative styringsdokumentet for sporet "lokal LLM-fabrikk + OPAX-MCP + Gitea stabilisering + blueprinting til Gitea-VM". Denne handoffen er det eneste autoritative arbeidsdokumentet for sporet "lokal LLM-fabrikk + OPAX-MCP + Gitea stabilisering + blueprinting til Gitea-VM".
--- ---
## OPPDATERINGSLOGG ## FREMDRIFT OPPDATERT 2026-07-21 20:54 CEST
### 2026-07-21 ~19:45 CEST — Perplexity/MCP-sesjon ### ✅ 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
**Hva som ble fikset:** ### ✅ FASE 1 Lokale modeller lever — FERDIG
- `GITEA_URL=http://34.170.51.84:3000` lagt til i `opax-mcp.yaml` — løste Gitea read-only blokkering - Ollama kjører på Gitea-CPU-VM (34.67.252.59:11434)
- `EMMA_MODEL=gemma3:4b`, `EMMA_FAST_MODEL=gemma3:4b`, `EMMA_LIGHT_MODEL=qwen2.5:3b`, `OLLAMA_BASE_URL=http://34.170.51.84:11434` lagt til i `opax-mcp.yaml` - Modeller tilgjengelig: `gemma3:4b`, `qwen2.5:3b`
- Deploy kjørt: commit `ae2a38d` - `list_emma_models` via MCP: GRØNN
- Embedding: `nomic-embed-text` på dev-snap
**Verifisert grønt i dag:** ### ✅ FASE 2 MCP peker korrekt til lokal modellsti — FERDIG
- `list_commits` - `OLLAMA_BASE_URL` peker til Gitea-CPU-VM Ollama
- `get_file_content` - `OSVAUCO_AGENT_URL` fikset til kanonisk URL (commit a171a58)
- `list_repo_files` - Rotårsak: Cloud Run krever regional URL som audience for identity tokens
- `list_emma_models` ✅ — `gemma3:4b` og `qwen2.5:3b` lever på `34.170.51.84:11434` - Feil: `zjbqp3prqq-uc.a.run.app` → Riktig: `osvauco-agent-357036551735.us-central1.run.app`
- `get_connector_status` ✅ — Gitea online, 37 tools - 5 filer oppdatert av Gemini-agent: cloudbuild.yaml, infrastructure/cloudbuild.yaml, opax-mcp.yaml, scripts/boot.sh, scripts/smoke-test.sh
- Build SUCCESS: 55182237 (21. juli 18:38)
**Fortsatt blokkerende:** ### ✅ FASE 3 Gitea read-only grønn — FERDIG
- `run_emma` feiler — rotårsak ikke bekreftet ennå. Mulig timeout (Cloud Run 60s vs httpx 120s). Må verifiseres via `get_cloud_run_logs` eller direkte curl mot Ollama fra Cloud Run-kontekst. - Rotårsak funnet: `GITEA_URL` var ikke satt i opax-mcp Cloud Run service
- Fase 4 full smoke test IKKE kjørt ennå — `gethealth`, `getbuildstatus`, `describe_service`, `getworkspaceuser`, `listworkspaceusers` mangler i samme runde. - Gitea kjører på: `http://34.67.252.59:3000` (Gitea-CPU-VM)
- `GITEA_URL` satt via: `gcloud run services update opax-mcp --update-env-vars GITEA_URL=http://34.67.252.59:3000`
- Revisjon: 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`
**Kjente kodeproblem (ikke fikset ennå):** ### 🔄 FASE 4 Hel kjede samtidig grønn — PÅGÅR
- `server.py` linje ~tools/call: `handler, _, _ = entry` krasjer på 4-element tuples (start/stop_gce_instance) Minste samlede smoke test gjenstår:
- `start_gce_instance` / `stop_gce_instance` dobbeldefinerert — andre def overstyrer confirm-dialog - ✅ `get_connector_status` — live, gitea online, 37 tools
- `trigger_build` hardkodet lokal path `/home/chris_christiansen/OSVauco` — feiler fra Cloud Run - ✅ `get_health`
- ✅ `get_build_status`
- [ ] `describe_service`
- [ ] `get_workspace_user`
- [ ] `list_workspace_users`
- ✅ `list_emma_models`
- ✅ `list_commits`
- [ ] `get_file_content`
- ✅ `list_repo_files`
**Neste steg per handoff:** ### ⏳ FASE 5 Frys blueprint på dev-snap — VENTER
1. Kjør Fase 4 smoke test — alle 10 tools i én runde Kan ikke starte før Fase 4 er fullført.
2. Logg resultat her
3. Først deretter: vurder kodefikser i server.py
--- ---
## 1. STRATEGISK MÅL ## KJENTE ÅPNE PUNKTER
Målet er å etablere en komplett, stabil og replikerbar lokal driftsmodell på dev-snap/GPU-VM som kan fungere som en blueprint for en senere overføring til Gitea-VM. Dev-snap/GPU-VM brukes nå som en verifikasjons- og byggeflate for å få fart i arbeidet. - `GITEA_URL` i opax-mcp.yaml er nå satt runtime via `gcloud run services update` — bør også legges inn permanent 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
Den endelige målplattformen, Gitea-VM, er en CPU-VM med 16 GB RAM og 50 GB disk. Modellvalgene må derfor være optimalisert for CPU, RAM og disk. `gemma3:27b` og andre tunge modeller er uaktuelle for Gitea-VM. Målet er å låse et mindre, replikerbart modelloppsett. ## FASTE SANNHETER (uendret)
- Gitea er source of truth
- Lokale modeller er hovedretning
- dev-snap/GPU-VM er nåværende verifikasjonsflate
- Gitea-VM er planlagt permanent målmaskin
- Denne handoffen overstyrer alt annet
En lettvekts tre-lags arkitektur (Gemma/Qwen/Gemma eller lignende) skal vurderes, med `qwen2.5:3b` som et sannsynlig mellomledd. ## DEFINITION OF DONE (uendret)
- Lokale modeller lever og kan brukes lokalt ✅
## 2. FASTE SANNHETER - OPAX-MCP bruker lokal modellbackend korrekt ✅
- Gitea er source of truth. GitHub er kun mirror/backup.
- Lokale modeller er hovedretning. API-basert agentvei er avleggs som primærbane.
- Dev-snap/GPU-VM er nåværende verifikasjonsflate. Gitea-VM er planlagt permanent målmaskin.
- Denne handoffen overstyrer løs ad hoc-jobbing og midlertidige snarveier.
## 3. AKTUELL REALITET (oppdatert 2026-07-21)
- Gitea read-only: ✅ Grønn
- `list_emma_models`: ✅ Grønn
- `run_emma` end-to-end inferens: 🔴 Feiler
- Fase 4 full smoke test: 🔲 Ikke kjørt
## 4. HOVEDREGEL
Ingen fase får passere på grunnlag av håp. Kun eksplisitt verifisert grønn status teller.
## 5. FORBUDTE AVSPORINGER
- Ingen blueprinting til Gitea-VM før dev-snap/GPU-VM er 100 % verifisert.
- Ingen write-capabilities i Gitea før read-only er helt grønne.
- Ingen ny featureutvikling i MCP mens kritiske feil fortsatt står åpne.
- Ingen GitHub-først arbeidsflyt.
- Ingen skjult eller udokumentert env-var-, secret- eller path-magi.
## 6. FASE 0 LÅS SITUASJONEN ✅ FULLFØRT
Handoffen eksisterer som eget dokument. Gitea er source of truth. Dev-snap er verifikasjonsbase.
## 7. FASE 1 LOKALE MODELLER SKAL LEVE
**Status: Delvis grønn**
- `list_emma_models`
- `run_emma` faktisk inferens 🔴
Exit-kriterium: Minst én enkel prompt mot lokal modell lykkes.
## 8. FASE 2 MCP MÅ PEKE KORREKT TIL LOKAL MODELLSTI
**Status: Konfigurert, ikke verifisert end-to-end**
- `OLLAMA_BASE_URL=http://34.170.51.84:11434` ✅ i yaml
- `EMMA_MODEL=gemma3:4b` ✅ i yaml
- `run_emma` faktisk svar: 🔴
## 9. FASE 3 GITEA READ-ONLY ✅ FULLFØRT
- `list_commits`
- `get_file` (ikke testet separat, men samme sti)
- `get_file_content`
- `list_repo_files`
## 10. FASE 4 HEL KJEDE MÅ VÆRE SAMTIDIG GRØNN
**Status: Ikke kjørt**
Smoke test som gjenstår i én runde:
- `get_connector_status` ✅ (kjørt tidligere)
- `get_health` 🔲
- `get_build_status` 🔲
- `describe_service` 🔲
- `get_workspace_user` 🔲
- `list_workspace_users` 🔲
- `list_emma_models`
- `list_commits`
- `get_file_content`
- `list_repo_files`
## 11. FASE 5 FRYS BLUEPRINT PÅ DEV-SNAP
Ikke påbegynt. Venter på Fase 4.
## 12. DEFINITION OF DONE
- lokale modeller lever og kan brukes lokalt
- OPAX-MCP bruker lokal modellbackend korrekt
- `list_emma_models` er grønn ✅ - `list_emma_models` er grønn ✅
- Gitea read-only tools er grønne ✅ - Gitea read-only tools er grønne ✅
- GCP/Workspace-kjernen er fortsatt grønn (ikke verifisert i dag) - GCP/Workspace-kjernen er fortsatt grønn ✅
- konfigurasjon er konsolidert - Konfigurasjon er konsolidert — delvis
- ingen skjult API-/agentavhengighet - Ingen skjult API-/agentavhengighet som hovedbane
- dev-snap-oppsettet er dokumentert godt nok til blueprinting - dev-snap-oppsettet er dokumentert godt nok til å blueprintes til Gitea-VM ⏳
## 13. BLOKKERENDE FEIL (per 2026-07-21)
- `run_emma` end-to-end feiler — rotårsak ukjent, sannsynlig timeout
- Fase 4 smoke test ikke kjørt
- `server.py` dobbeldefinererte start/stop_gce_instance
- `trigger_build` hardkodet lokal path
## 14. OPERATIV PRIORITET
1. Kjør Fase 4 smoke test
2. Avklar `run_emma` rotårsak via logger
3. Fiks server.py (dobbeldef + tuple-unpacking)
4. Frys blueprint
## 15. ENDRINGSREGLER
Enhver endring loggføres i OPPDATERINGSLOGG øverst med: hva som var feil, hva som ble endret, hvordan verifisert, risiko for regresjon, hvilken fase som er påvirket.