OSVauco/docs/HANDOFF.md

6.2 KiB

HANDOFF — Vauco OS

Sist oppdatert: 2026-06-28 23:44 CEST Skrevet av: Perplexity (for Chris Christiansen) Status: Fase C — Emma operativ, MCP 16 tools, IAP token utløpt (ADC 8t)


⚠️ KRITISKE REGLER — les alltid først

  • Hovedapp: main.py i rot — IKKJE agents/core-logic/app.py
  • Dockerfile: agents/core-logic/Dockerfile — WORKDIR /app, CMD uvicorn main:app
  • Region: us-central1 | Service: osvauco-agent | Prosjekt: propane-will-491900-m5
  • ALDRI --audiences-flag med gcloud auth print-identity-token — det er for service accounts, ikke user accounts
  • IAP identity token: hentes fra GCE metadata server, IKKE fra gcloud CLI
  • Smoke-test: peker alltid på /health
  • Primær Git: http://34.59.131.162:3000/chris/OSVauco — GitHub er mirror, IKKJE kilde
  • Emma rapporterer til: Chris Christiansen chris.christiansen@vauco.no — ingen andre kan gi GO
  • emma_runner.py finnes IKKE — riktig fil er emma/emma_run.py

🎯 NESTE OPPGAVE (prioritert)

  1. IAP token utløpt — kjør gcloud auth application-default login på VM for å fornye ADC (eller bruk metadata server direkte — se auth-flyt under)
  2. sol-script bugenvironment: line 7: : No such file or directory — fiks PATH i sol.sh
  3. Cloud Build trigger ID — finn i Cloud Console og legg inn i scripts/trigger-cloudbuild.sh
  4. Gitea post-receive hook — se scripts/gitea-post-receive.sh
  5. emma-alias permanent — legg til i ~/.bashrc

Teststatus 2026-06-28 natt

Test Beskrivelse Status Merknad
Mirror Gitea → GitHub 7c87a8a synkronisert
Test 1 MCP health emma_tools: true, emma_tool_count: 12
Test 2 opax.vauco.no IAP Invalid IAP credentials: Unable to parse JWT — ADC-token trolig utløpt (8t)
Test 3 Emma oppstart llama3.2, 38 mønstre, 11 sesjoner, avg_efficiency: 1.3
Test 4 boot.sh Aliaser settes av ~/.bashrc ved ny terminal — ikke via source i TUI
Test 5 MCP tools 16 tools total: 4 infra + 12 emma

MCP tools (Test 5):

  • Infra: push_static, get_build_status, deploy_service, get_logs
  • Emma: gh_list_issues, gh_create_issue, gh_comment_issue, gh_close_issue, gh_push_file, firestore_write, firestore_read, secret_get, opax_get_customer, opax_update_customer, opax_create_ticket, opax_list_tickets

Fullført i dag (2026-06-28)

Oppgave Commit Status
emma/emma_seed.py — LEARNINGS 001-016 + boot-minne 6726da23
emma/emma_guardrails.py — 5-nivå risikoscoring 6726da23
emma/emma_opax.py — OPAX-kobling med identity token 6726da23
emma/emma_identity.py — identitet injisert i alle LLM-prompts 31a405ad
emma/emma_gitea.py — direkte Gitea-tilgang 31a405ad
emma/setup.sh — VM-bootstrap én kommando 47ade3d5
.gemini/GEMINI.md — NO-SEARCH-blokk øverst, deduplisert 87b2dced
scripts/mirror-to-github.sh — Gitea→GitHub mirror 7c87a8a
scripts/emma.sh — peker nå på emma_run.py f098b84 (GitHub-only, sync mangler til Gitea)

Fullført tidligere (2026-06-18) — IAP Auth fix for opax-mcp

Oppgave Status
Identifisert rotårsak: feil IAP audience i identity token-kall
Lagt til roles/iap.httpsResourceAccessor for jason-vauger SA
Oppdatert opax-mcp/server.py — ny env var OPAX_IAP_CLIENT_ID
Revisjon opax-mcp-00020 aktiv med 100% trafikk

🖥 Systemstatus

Komponent URL / Referanse Status
osvauco-agent (Cloud Run) https://osvauco-agent-zjbgp3prqg-uc.a.run.app Live
opax-mcp (Cloud Run) https://opax-mcp-357036551735.us-central1.run.app Live (rev 00020)
opax.vauco.no IAP https://opax.vauco.no ⚠️ IAP-token utløpt — forny ADC
Jason (Vertex AI Agent) Agent Engine, us-central1 Live
Gitea (self-hosted) http://34.59.131.162:3000 Live (v1.22.6)
Emma på VM ~/OSVauco/emma/ morphic.db, 38 mønstre, 11 sesjoner
MCP server lokal http://localhost:8080 16 tools
emma-alias ~/.bashrc legg til permanent
GitHub (mirror) https://github.com/vauco-saas/OSVauco mirror aktiv

🔑 Credentials

  • Gitea API-token: Secret Manager → gitea-api-token
  • MCP-Secret: Secret Manager → mcp-server-key
  • Prosjekt: propane-will-491900-m5
  • IAP OAuth Client ID (opax backend): 357036551735-kq8nt7ld38hfqlcfb3n52ef7tala4meo.apps.googleusercontent.com
  • VM compute SA: 357036551735-compute@developer.gserviceaccount.com

🏗 Arkitektur

Bruker
  └─► Jason (Vertex AI Agent Engine, Gemini 2.5 Pro)
        └─► osvauco-agent (Cloud Run)
              └─► opax-mcp (Cloud Run, 16 tools)
                    └─► [IAP] opax.vauco.no

osvauco-dev-vm
  └─► Gemini CLI (denne agenten)
  └─► Emma (lokal MDP/MCoT-agent)
        ├─► Morfisk minne (SQLite, 38 mønstre)
        ├─► Guardrails (5-nivå)
        ├─► OPAX-klient (identity token)
        └─► Gitea-klient

Auth-flyt VM → opax.vauco.no (IAP):

VM (Gemini CLI eller Emma)
  → curl metadata.google.internal → identity token (audience = IAP_CLIENT_ID)
  → curl https://opax.vauco.no -H "Authorization: Bearer $TOKEN"
  → IAP validerer token mot roles/iap.httpsResourceAccessor
  → HTTP 200 (eller 401 hvis SA mangler rollen)

NOTAT: ADC-token via gcloud auth login utløper etter 8 timer.
       Bruk alltid metadata server på GCE VM for identity tokens.

📚 Relevante docs

Dok Innhold
docs/LEARNINGS.md Append-only lærdomslogg — LEARNING-001 til 016
docs/AGENT_RULEBOOK.md Boot-protokoll, deploy-regler
.gemini/GEMINI.md Instrukser til Gemini CLI på VM
emma/setup.sh VM-bootstrap — klon, venv, install, seed
docs/DNS-OG-INFRASTRUKTUR.md DNS-kart, IAP-routing, forwarding rules