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
Some checks are pending
Check Python Version Consistency / Check Python Version (push) Waiting to run
This commit is contained in:
parent
41ad45d319
commit
be39ea9f6c
|
|
@ -3,132 +3,80 @@
|
|||
# GJELDER FRA NÅ OG FREM TIL 100 % FERDIGSTILLELSE
|
||||
|
||||
## 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:**
|
||||
- `GITEA_URL=http://34.170.51.84:3000` lagt til i `opax-mcp.yaml` — løste Gitea read-only blokkering
|
||||
- `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`
|
||||
- Deploy kjørt: commit `ae2a38d`
|
||||
### ✅ FASE 1 – Lokale modeller lever — FERDIG
|
||||
- Ollama kjører på Gitea-CPU-VM (34.67.252.59:11434)
|
||||
- Modeller tilgjengelig: `gemma3:4b`, `qwen2.5:3b`
|
||||
- `list_emma_models` via MCP: GRØNN
|
||||
- Embedding: `nomic-embed-text` på dev-snap
|
||||
|
||||
**Verifisert grønt i dag:**
|
||||
- `list_commits` ✅
|
||||
- `get_file_content` ✅
|
||||
- `list_repo_files` ✅
|
||||
- `list_emma_models` ✅ — `gemma3:4b` og `qwen2.5:3b` lever på `34.170.51.84:11434`
|
||||
- `get_connector_status` ✅ — Gitea online, 37 tools
|
||||
### ✅ 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: cloudbuild.yaml, infrastructure/cloudbuild.yaml, opax-mcp.yaml, scripts/boot.sh, scripts/smoke-test.sh
|
||||
- Build SUCCESS: 55182237 (21. juli 18:38)
|
||||
|
||||
**Fortsatt blokkerende:**
|
||||
- `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.
|
||||
- Fase 4 full smoke test IKKE kjørt ennå — `gethealth`, `getbuildstatus`, `describe_service`, `getworkspaceuser`, `listworkspaceusers` mangler i samme runde.
|
||||
### ✅ FASE 3 – Gitea read-only grønn — FERDIG
|
||||
- Rotårsak funnet: `GITEA_URL` var ikke satt i opax-mcp Cloud Run service
|
||||
- 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å):**
|
||||
- `server.py` linje ~tools/call: `handler, _, _ = entry` krasjer på 4-element tuples (start/stop_gce_instance)
|
||||
- `start_gce_instance` / `stop_gce_instance` dobbeldefinerert — andre def overstyrer confirm-dialog
|
||||
- `trigger_build` hardkodet lokal path `/home/chris_christiansen/OSVauco` — feiler fra Cloud Run
|
||||
### 🔄 FASE 4 – Hel kjede samtidig grønn — PÅGÅR
|
||||
Minste samlede smoke test gjenstår:
|
||||
- ✅ `get_connector_status` — live, gitea online, 37 tools
|
||||
- ✅ `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:**
|
||||
1. Kjør Fase 4 smoke test — alle 10 tools i én runde
|
||||
2. Logg resultat her
|
||||
3. Først deretter: vurder kodefikser i server.py
|
||||
### ⏳ FASE 5 – Frys blueprint på dev-snap — VENTER
|
||||
Kan ikke starte før Fase 4 er fullført.
|
||||
|
||||
---
|
||||
|
||||
## 1. STRATEGISK MÅL
|
||||
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.
|
||||
## KJENTE ÅPNE PUNKTER
|
||||
- `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.
|
||||
|
||||
## 2. FASTE SANNHETER
|
||||
- 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
|
||||
## DEFINITION OF DONE (uendret)
|
||||
- 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 (ikke verifisert i dag)
|
||||
- konfigurasjon er konsolidert
|
||||
- ingen skjult API-/agentavhengighet
|
||||
- dev-snap-oppsettet er dokumentert godt nok til blueprinting
|
||||
|
||||
## 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.
|
||||
- GCP/Workspace-kjernen er fortsatt grønn ✅
|
||||
- Konfigurasjon er konsolidert — delvis
|
||||
- Ingen skjult API-/agentavhengighet som hovedbane
|
||||
- dev-snap-oppsettet er dokumentert godt nok til å blueprintes til Gitea-VM ⏳
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user