diff --git a/docs/HANDOFF.md b/docs/HANDOFF.md index ff567b9..4fe3713 100644 --- a/docs/HANDOFF.md +++ b/docs/HANDOFF.md @@ -1,7 +1,7 @@ # HANDOFF — Vauco OS -**Sist oppdatert:** 2026-06-28 11:52 CEST -**Skrevet av:** Perplexity (Orchestrator) +**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. --- @@ -19,91 +19,17 @@ --- -## 🔴 KJENT PROBLEM: IAP 401 fra VM — diagnose pågår - -**Symptom:** `HTTP/2 401` fra `https://opax.vauco.no` selv med korrekt audience i metadata-kall. - -**Allerede avklart — ikke gjenta disse forsøkene:** -- `gcloud auth print-identity-token --audiences=...` → feiler fordi det er en user account, ikke service account -- Feil audience (base URL i stedet for IAP Client ID) → allerede fikset i opax-mcp rev 00020 - -**Neste diagnosesteg (kjør i denne rekkefølgen):** - -```bash -# Steg 1: Sjekk om VM-ens service account har IAP-tilgang -gcloud projects get-iam-policy propane-will-491900-m5 - --flatten="bindings[].members" - --format="table(bindings.role,bindings.members)" - --filter="bindings.members:357036551735-compute@developer.gserviceaccount.com" - -# Steg 2: Sjekk IAP-spesifikk policy -gcloud iap web get-iam-policy - --project=propane-will-491900-m5 - --resource-type=backend-services 2>/dev/null || -gcloud iap web get-iam-policy - --project=propane-will-491900-m5 - -# Steg 3: Print rå token og se om det er tom streng -TOKEN=$(curl -s -H "Metadata-Flavor: Google" - "http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/identity?audience=357036551735-kq8nt71d38hfqlcfb3n52ef7ala4meo.apps.googleusercontent.com&format=full") -echo "TOKEN lengde: ${#TOKEN} tegn" -echo "TOKEN start: ${TOKEN:0:50}" - -# Steg 4: Test med verbose for å se IAP response body -curl -sv https://opax.vauco.no/opax/build-status - -H "Authorization: Bearer $TOKEN" 2>&1 | grep -E "< |{|\.html" -``` - -**Forventet rotårsak:** VM-ens compute service account (`357036551735-compute@developer.gserviceaccount.com`) mangler `roles/iap.httpsResourceAccessor` på IAP backend. - -**Fix hvis bekreftet:** -```bash -gcloud projects add-iam-policy-binding propane-will-491900-m5 - --member="serviceAccount:357036551735-compute@developer.gserviceaccount.com" - --role="roles/iap.httpsResourceAccessor" -# Vent 60 sek og test på nytt -``` +## ✅ KJENT PROBLEM: IAP 401 fra VM — LØST --- ## 🎯 NESTE OPPGAVE -**To parallelle oppgaver — start med IAP-diagnose, deretter Emma bootstrap.** - -### Oppgave 1: IAP 401-diagnose (se seksjon over) - -Kjør de 4 diagnosestegene og rapporter output til Chris. - -### Oppgave 2: Bootstrap Emma på VM - -```bash -# Steg 1: Synk Gitea (emma/-filer er på GitHub — sjekk om Gitea har dem) -git -C ~/OSVauco log --oneline -5 -# Forventet: skal vise commit 87b2dced (GEMINI.md no-search) eller nyere -# Hvis ikke — kjør synk: -git -C ~/OSVauco remote add github https://github.com/vauco-saas/OSVauco.git 2>/dev/null || true -git -C ~/OSVauco fetch github main -git -C ~/OSVauco merge github/main --ff-only -git -C ~/OSVauco push origin main - -# Steg 2: Bootstrap Emma -bash <(curl -s "http://chris:$(gcloud secrets versions access latest - --secret=gitea-api-token --project=propane-will-491900-m5 - )@34.59.131.162:3000/chris/OSVauco/raw/branch/main/emma/setup.sh") - -# Steg 3: Aktiver aliaser -echo '''source ~/.emma_env''' >> ~/.bashrc && source ~/.emma_env - -# Steg 4: Verifiser -ls -lh ~/OSVauco/emma/data/morphic.db -tail -3 ~/OSVauco/emma/emma_flynn_log.jsonl -emma # start CLI -``` - -Forventet: -- `morphic.db` eksisterer med > 20 mønstre -- `emma_flynn_log.jsonl` har minst 1 rad -- `emma` starter CLI uten feil +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 --- @@ -139,10 +65,11 @@ Forventet: |-----------|-----------------|--------| | 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 frontend (IAP LB) | https://opax.vauco.no | ✅ Live | +| 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 (lokal agent) | `~/OSVauco/emma/` på osvauco-dev-vm | ⚠️ Ikke bootstrappt | +| 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 | ---