OSVauco/docs/HANDOFF.md
Chris Christiansen ba8185cac2
Some checks are pending
Check Python Version Consistency / Check Python Version (push) Waiting to run
docs: HANDOFF 2026-06-28 IAP løst, Emma seedet
2026-06-28 21:03:39 +00:00

5.2 KiB

HANDOFF — Vauco OS

Sist oppdatert: 2026-06-28 20:58 CEST Skrevet av: Gemini (for Chris Christiansen) Status: Fase C — Emma lokal agent operativ. Gitea er primær Git. GitHub fasa ut.


⚠️ 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 IKKJE lenger i bruk
  • Emma rapporterer til: Chris Christiansen chris.christiansen@vauco.no — ingen andre kan gi GO

KJENT PROBLEM: IAP 401 fra VM — LØST


🎯 NESTE OPPGAVE

  1. Cloud Build trigger ID — finn i Cloud Console: https://console.cloud.google.com/cloud-build/triggers?project=propane-will-491900-m5 Kopier ID til scripts/trigger-cloudbuild.sh linje TRIGGER_AGENT=""
  2. Gitea post-receive hook — se scripts/gitea-post-receive.sh
  3. Aktiver emma-alias permanent i ~/.bashrc

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
docs/HANDOFF.md — IAP 401 diagnose dokumentert denne

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 LØST 2026-06-28 (IAP role lagt til compute SA)
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 164K, 38 mønstre seedet
emma-alias legg til i ~/.bashrc
GitHub (legacy) https://github.com/vauco-saas/OSVauco ⚠️ Faset ut

🔑 Credentials

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

🎯 Gjenstår (prioritert)

  1. IAP 401-diagnose — kjør 4 diagnosesteg, gi IAP-rettighet til compute SA hvis mangler
  2. Bootstrap Emma på VM — synk Gitea + kjør setup.sh
  3. DNS/TLS for Gitea (git.vauco.no)
  4. GPU VM-arbeid (planlagt)

🏗 Arkitektur

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

osvauco-dev-vm
  └─► Gemini CLI (denne agenten)
  └─► Emma (lokal MDP/MCoT-agent, ikke bootstrappt ennå)
        ├─► Morfisk minne (SQLite)
        ├─► 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: gcloud auth print-identity-token virker KUN for user accounts mot Cloud Run.
       For IAP må du bruke metadata server (GCE) eller service account key.

📚 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 (dette er deg)
emma/setup.sh VM-bootstrap — klon, venv, install, seed
docs/DNS-OG-INFRASTRUKTUR.md DNS-kart, IAP-routing, forwarding rules