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)
- 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)
- sol-script bug —
environment: line 7: : No such file or directory — fiks PATH i sol.sh
- Cloud Build trigger ID — finn i Cloud Console og legg inn i
scripts/trigger-cloudbuild.sh
- Gitea post-receive hook — se
scripts/gitea-post-receive.sh
- 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
🔑 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 |