Some checks are pending
Check Python Version Consistency / Check Python Version (push) Waiting to run
138 lines
5.2 KiB
Markdown
138 lines
5.2 KiB
Markdown
# 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 |
|
|
|