diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index c01955a..ad663d9 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -1,6 +1,6 @@ # VAUCO OS — ARCHITECTURE.md # Eier: PLAN-Claude-Architect -# Sist oppdatert: 2026-05-21 CEST +# Sist oppdatert: 2026-06-29 CEST # Godkjent av: Chris Christiansen --- @@ -44,6 +44,36 @@ Computer 2.5 Pro Sonnet/ (NMT) --- +## VM-infrastruktur (GCP Compute Engine) + +| VM | Formål | Specs | Modeller | +|----|--------|-------|----------| +| `osvauco-dev-vm` | Utvikling, OSV-pipeline (lokal Ollama), MCP-testing | **16 GB RAM**, CPU-only, `us-central1-b` | gemma3:4b (3.3 GB), qwen2.5:7b (4.7 GB), nomic-embed-text, llama3.2 | +| `emma-gpu-vm` | Tung ML, Emma co-pilot (Gemma 4 27B) | GPU, høy RAM | Gemma 4 27B (int4) — kun ved eksplisitt eskalering | + +### OSV-pipeline (agents/osv/pipeline.py) + +Lokal tre-lags Ollama-pipeline på `osvauco-dev-vm` for å minimere API-kostnader: + +``` +Lag 1 — gemma3:4b (front) → forstår intent, strukturerer oppgave +Lag 2 — qwen2.5:7b (analyse) → dyptgående analyse, kode, planlegging +Lag 3 — gemma3:4b (output) → formaterer og leverer svar til bruker +``` + +**Eskaleringspolitikk (Emma):** +- `emma` trigger: kun hvis Chris eksplisitt skriver "emma" i meldingen +- `ask_emma`: pipeline spør Chris hvis konfidans < 0.4 +- Aldri automatisk eskalering +- Emma kjører på `emma-gpu-vm:11434` — kostnad påløper ved oppstart + +**Viktig — RAM-krav:** +- `osvauco-dev-vm` MÅ ha ≥16 GB RAM for å kjøre gemma3:4b + qwen2.5:7b samtidig +- 8 GB er ikke tilstrekkelig — modellene timeout-er under lasting +- Øk VM til 16 GB i GCP Console ved behov + +--- + ## MCP Identity | Parameter | Verdi | @@ -129,6 +159,7 @@ Aldri: direkte tråd-til-tråd - Bridge avhenger av `bridge/`-kode + GCP service account `vauco-dev` - Token economy avhenger av `scripts/token_economy.py` (planlagt) - Pre-commit hook v2 avhenger av `.githooks/pre-commit` (planlagt) +- OSV-pipeline avhenger av Ollama på `osvauco-dev-vm` med ≥16 GB RAM --- @@ -148,4 +179,4 @@ Aldri: direkte tråd-til-tråd - B: Per-skill separate accounts --- -EOF v1.1 — 2026-05-21 — OPS/PLAN (Phase 1: domain convention + MCP identity added) +EOF v1.2 — 2026-06-29 — OPS (osvauco-dev-vm + OSV-pipeline + Emma-eskaleringspolitikk lagt til) diff --git a/docs/UNIVERSAL_BOOT_PROMPT.md b/docs/UNIVERSAL_BOOT_PROMPT.md index d11b0c5..1f4661e 100644 --- a/docs/UNIVERSAL_BOOT_PROMPT.md +++ b/docs/UNIVERSAL_BOOT_PROMPT.md @@ -1,6 +1,6 @@ -# VAUCO OS — UNIVERSAL BOOT PROMPT v1.6 +# VAUCO OS — UNIVERSAL BOOT PROMPT v1.7 # Eier: Chris Christiansen · Vauco AS -# Oppdatert: 2026-06-12 +# Oppdatert: 2026-06-29 # Mode: HITL — ingen EXEC uten eksplisitt bekreftelse fra Chris --- @@ -14,9 +14,10 @@ Les rå-innholdet fra GitHub (`vauco-saas/OSVauco`, branch `main`): 3. `docs/HANDOFF.md` — siste sesjonsstatus (overskrives hver sesjon) 4. `docs/AGENT_RULEBOOK.md` — låste regler for alle agenter 5. `docs/LEARNINGS.md` — append-only lærdom fra alle sesjoner -6. `docs/ARCHITECTURE.md` — teknisk arkitektur -7. `AGENTS.md` — agent-oversikt i repo-rot -8. `CLAUDE.md` — kontekst for Claude/andre agenter (rot) +6. `docs/ARCHITECTURE.md` — teknisk arkitektur (inkl. VM-specs og OSV-pipeline) +7. `docs/VM-BOOTSTRAP.md` — VM-oppsett, Ollama-konfigurasjon, modeller +8. `AGENTS.md` — agent-oversikt i repo-rot +9. `CLAUDE.md` — kontekst for Claude/andre agenter (rot) > Hvis en fil ikke finnes: ikke anta innhold. Si ifra og fortsett med de som finnes. > `docs/gemma/world.md` mangler ennå — dette er kjent (OQ-26, blokkerer ML-3a). @@ -36,6 +37,8 @@ OSVauco/ (repo-rot) ├── cloudbuild.yaml ← CI/CD ├── requirements.txt ├── agents/ ← Agent-logikk (IKKE hovudapp) +│ └── osv/ +│ └── pipeline.py ← OSV lokal Ollama-pipeline (3-lags) ├── architecture/ ├── auth/ ├── data/ @@ -138,9 +141,11 @@ Inntil ML-3a: Sonar fyller din rolle. Når aktiv: les `docs/gemma/world.md` som | Repo | `vauco-saas/OSVauco` | | Hovudapp | `main.py` (rot) | | MCP-server | `opax-mcp/` | +| OSV-pipeline | `agents/osv/pipeline.py` | | Eier | `chris.christiansen@vauco.no` | | Jason | `jason.vauger@vauco.no` | | Emma | `emma.vauger@vauco.no` (🔮 ML-3a) | +| osvauco-dev-vm RAM | **16 GB** (minimum for OSV-pipeline) | **Forbudte kontoer:** `tinius.vauger`, `ccv` — aldri opprett eller gi tilganger. @@ -177,6 +182,11 @@ COPY static/ ./static/ > Bruk alltid `get_file_contents` på relevant mappe før du antar filplassering. > Dokumentasjon kan være utdatert — GitHub API er sannheten. +**R-10 — OSV-pipeline og osvauco-dev-vm:** +> `osvauco-dev-vm` MÅ ha 16 GB RAM for å kjøre OSV-pipelinen (gemma3:4b + qwen2.5:7b). +> Emma-eskalering skjer ALDRI automatisk — kun ved eksplisitt "emma" trigger eller Chris-bekreftelse. +> Ollama kjører på `localhost:11434` på dev-vm, `emma-gpu-vm:11434` for Emma. + --- ## STEG 7: IKKE GJER DISSE FEILENE @@ -191,6 +201,8 @@ COPY static/ ./static/ - Ikke anta at secrets er mountet — sjekk `--update-secrets` - Medioteq = joint venture, ikke SaaS-kunde - Prismodell er låst — ikke endre uten `PLAN APPROVED` +- Ikke foreslå å flytte OSV-pipeline til emma-gpu-vm — den skal kjøre på dev-vm (kostnadskontroll) +- Ikke øk timeout som workaround for RAM-mangel — øk RAM på VM i stedet --- @@ -218,13 +230,13 @@ COPY static/ ./static/ Når alle filer er lest, svar med nøyaktig én linje: ``` -Boot OK — main · HEAD [SHA] · [antall filer lest]/8 · Rolle: [din rolle] +Boot OK — main · HEAD [SHA] · [antall filer lest]/9 · Rolle: [din rolle] ``` -Eksempel: `Boot OK — main · HEAD 9783ed1 · 7/8 · Rolle: Nemotron (Orchestrator 1)` +Eksempel: `Boot OK — main · HEAD 9783ed1 · 8/9 · Rolle: Nemotron (Orchestrator 1)` Hvis filer mangler: list dem, fortsett med de som finnes. --- -*Vauco AS · propane-will-491900-m5 · us-central1 · v1.6 · 2026-06-12* +*Vauco AS · propane-will-491900-m5 · us-central1 · v1.7 · 2026-06-29*