From 50ddeeb46b6500de0de0aa981d5c7e9d0912c02e Mon Sep 17 00:00:00 2001 From: chrischristiansen-glitch Date: Sun, 31 May 2026 12:42:12 +0200 Subject: [PATCH] chore(gemini): upgrade to Claude Opus 4.6 via Vertex AI EU endpoint --- .gemini/GEMINI.md | 148 +++++++++++++++++++++------------------------- 1 file changed, 68 insertions(+), 80 deletions(-) diff --git a/.gemini/GEMINI.md b/.gemini/GEMINI.md index 8aef4b6..e5b95bc 100644 --- a/.gemini/GEMINI.md +++ b/.gemini/GEMINI.md @@ -1,6 +1,6 @@ # GEMINI.md — OSVauco / OPAX -> Gemini 2.5 Pro · Nemotron session protocol · HITL-safe +> Claude Opus 4.6 · Vertex AI EU endpoint · Nemotron session protocol · HITL-safe --- @@ -12,9 +12,12 @@ MCP_PROTOCOL: OPAX Protocol ROOT_DOMAIN: vauco.no HUB_URL: https://opax.vauco.no GCP_PROJECT: propane-will-491900-m5 -GCP_REGION: us-central1 +GCP_REGION: europe-west1 +GCP_VERTEX_LOC: eu CLOUD_RUN_SVC: osvauco-agent ARTIFACT_REPO: gcr.io/propane-will-491900-m5 +MODEL: claude-opus-4-6@20260301 +MODEL_PROVIDER: Vertex AI (Anthropic Claude via Google Cloud) OPERATOR: Chris Christiansen (chris.christiansen@vauco.no) OPERATOR_ROLE: Eier, arkitekt og primær operatør av OSVauco / OS-Vauco ``` @@ -23,6 +26,40 @@ OPERATOR_ROLE: Eier, arkitekt og primær operatør av OSVauco / OS-Vauco --- +## Modell: Claude Opus 4.6 via Vertex AI + +Denne agenten kjøres med **Claude Opus 4.6** tilgjengelig via Vertex AI EU multi-region endpoint. + +- Data forblir innenfor EU-grensen (GDPR-compliant) [cite:76] +- Ingen separat Anthropic API-nøkkel — billing via eksisterende GCP-konto +- EU endpoint auto-routes internt mellom europeiske regioner for kapasitet + +```python +# Korrekt initialisering +import anthropic + +client = anthropic.AnthropicVertex( + region="eu", + project_id="propane-will-491900-m5" +) + +response = client.messages.create( + model="claude-opus-4-6@20260301", + max_tokens=8192, + messages=[{"role": "user", "content": "..."}] +) +``` + +```bash +# Aktiver model i Vertex AI Model Garden (kun første gang) +# Console → Vertex AI → Model Garden → søk "Claude Opus" → Enable + +# Auth +gcloud auth application-default login --project=propane-will-491900-m5 +``` + +--- + ## Kontekst: Hvem og hvordan **Operatør: Chris Christiansen** — eier og arkitekt bak OSVauco og OS-Vauco. @@ -139,8 +176,8 @@ gcloud artifacts docker images list \ ### Regel 3: Aldri fiks symptomer — fiks rot-årsak -❌ Feil: «build feiler → legg til --no-cache» -✅ Riktig: «build feiler → les logg → Step 3/8 feiler på apt-get → dependency mangler → fiks Dockerfile" +❌ Feil: «build feiler → legg til --no-cache» +✅ Riktig: «build feiler → les logg → Step 3/8 feiler på apt-get → dependency mangler → fiks Dockerfile» ### Regel 4: Bekreft alltid før du konkluderer at noe virker @@ -175,7 +212,7 @@ VERIFY: [kommando for å bekrefte fix] ### BOOT - Read `docs/AGENT_RULEBOOK.md`, `docs/VAUCO_OS_ROADMAP.md`, and `docs/OSVAUCO_OPAX_SESSION_LOG.md`. -- Print LOCKED DEFINITIONS (`MCP_NAME`, `MCP_PROTOCOL`, `HUB_URL`, `ROOT_DOMAIN`, `GCP_PROJECT`, `OPERATOR`). +- Print LOCKED DEFINITIONS (`MCP_NAME`, `MCP_PROTOCOL`, `HUB_URL`, `ROOT_DOMAIN`, `GCP_PROJECT`, `MODEL`, `OPERATOR`). - Print the last `## NESTE OPPGAVE` block found in the session log. - If no NESTE OPPGAVE found → warn and read ROADMAP NOW section instead. - Sjekk gjeldende GCP auth: `gcloud auth list` og `gcloud config get-value project` @@ -241,7 +278,6 @@ VERIFY: [kommando for å bekrefte fix] ### 🔴 Cloud Build feiler ```bash -# Steg 1: Hent siste build-ID og vis hele loggen BUILD_ID=$(gcloud builds list \ --project=propane-will-491900-m5 \ --limit=1 \ @@ -251,122 +287,73 @@ gcloud builds log $BUILD_ID \ --project=propane-will-491900-m5 2>&1 | tail -100 ``` -Les output: -- Finn linjen `Step X/Y` som feilet -- Les error-meldingen på den linjen -- Sjekk Dockerfile/cloudbuild.yaml mot feilen -- IKKE søk på nett før du har lest og forstått feilen - Vanlige årsaker: -- `exit 125` → Docker ukjent flagg eller image-pull feil → les «Step» som feilet -- `exit 1` på apt-get → dependency ikke funnet → sjekk pakkenavn -- `exit 1` på COPY → fil eksisterer ikke i build-kontekst → sjekk .dockerignore -- `exit 1` på pip install → requirements-konflikt → les pip-output i loggen +- `exit 125` → Docker ukjent flagg eller image-pull feil +- `exit 1` på apt-get → dependency ikke funnet +- `exit 1` på COPY → fil eksisterer ikke i build-kontekst +- `exit 1` på pip install → requirements-konflikt ### 🔴 Cloud Run svarer ikke / returnerer feil ```bash -# Steg 1: Sjekk om tjenesten er oppe gcloud run services describe osvauco-agent \ --project=propane-will-491900-m5 \ - --region=us-central1 \ + --region=europe-west1 \ --format="value(status.conditions)" -# Steg 2: Les runtime-logger gcloud logging read \ 'resource.type=cloud_run_revision AND resource.labels.service_name=osvauco-agent' \ --project=propane-will-491900-m5 \ --limit=50 \ --order=desc \ --format="table(timestamp,textPayload,jsonPayload.message)" - -# Steg 3: Test endepunktet direkte (bypasser IAP) -curl -sv -o /dev/null \ - -H "Authorization: Bearer $(gcloud auth print-identity-token)" \ - https://osvauco-agent-357036551735.us-central1.run.app/health ``` ### 🔴 Auth / IAP-feil ```bash -# Sjekk hvem du er autentisert som gcloud auth list gcloud config get-value project - -# Hent identity token for testing gcloud auth print-identity-token -# Sjekk IAP-tilgang gcloud iap web get-iam-policy \ --project=propane-will-491900-m5 \ --resource-type=cloud-run \ --service=osvauco-agent ``` -### 🔴 Docker-feil lokalt +### 🔴 Claude / Vertex AI-feil ```bash -# Bygg image lokalt for å isolere feilen -docker build -t osvauco-test . 2>&1 | tail -40 +# Test Claude Opus 4.6 via Vertex EU endpoint +curl -X POST \ + "https://eu-aiplatform.googleapis.com/v1/projects/propane-will-491900-m5/locations/eu/publishers/anthropic/models/claude-opus-4-6@20260301:rawPredict" \ + -H "Authorization: Bearer $(gcloud auth print-access-token)" \ + -H "Content-Type: application/json" \ + -d '{ + "anthropic_version": "vertex-2023-10-16", + "max_tokens": 256, + "messages": [{"role": "user", "content": "ping"}] + }' -# Kjør image lokalt for å teste -docker run --rm -p 8080:8080 \ - -e PORT=8080 \ - osvauco-test - -# Test lokalt -curl -s http://localhost:8080/health -``` - -### 🔴 Secret Manager-feil - -```bash -# List secrets -gcloud secrets list --project=propane-will-491900-m5 - -# Les en secret-verdi -gcloud secrets versions access latest \ - --secret= \ - --project=propane-will-491900-m5 - -# Sjekk tilgang -gcloud secrets get-iam-policy \ - --project=propane-will-491900-m5 +# Sjekk at Claude er aktivert i Model Garden +gcloud ai models list \ + --region=eu \ + --project=propane-will-491900-m5 \ + --filter="displayName:claude" ``` ### 🔴 .env mangler ved oppstart ```bash -# 1. Sjekk om den finnes ls -la .env - -# 2. Sjekk Secret Manager gcloud secrets list --project=propane-will-491900-m5 | grep -i env - -# 3. Sjekk GCS backup gsutil ls gs://propane-will-491900-m5-*/ 2>/dev/null | grep -i env - -# 4. Sjekk andre lokasjoner på disk find ~ -name ".env" -not -path "*/OSVauco/*" 2>/dev/null ``` **STOPP og rapporter til Chris — opprett IKKE .env fra .env.example.** -### 🔴 Git/kode-feil - -```bash -# Aldri gjett hva som er i en fil — les den -cat agents/core-logic/main.py | head -50 - -# Finn hva som endret seg sist -git log --oneline -10 -git diff HEAD~1 HEAD -- - -# Sjekk hva som faktisk deployes -git log --oneline -1 -gcloud builds list --limit=1 --format="value(source.repoSource.commitSha)" -``` - ### Prioritert diagnose-rekkefølge ``` @@ -402,6 +389,7 @@ ALDRI: Opprett .env fra template | Cloud Run 500 | `gcloud logging read` → les stack trace | Endre kode uten å se feilen | | Cloud Run 404 | `curl` + les rutekonfig | Anta routing er feil | | Auth 403 | `gcloud iap get-iam-policy` | Anta token er utløpt | +| Claude API feil | Test EU endpoint direkte med curl | Anta det er koden sin feil | | .env mangler | Rapporter til Chris, hent fra Secret Manager | Opprett fra .env.example | | Noe «virker ikke» | `gcloud run services describe` | Anta det er koden sin feil | @@ -412,7 +400,7 @@ ALDRI: Opprett .env fra template ```bash # Alltid bruk eksplisitt prosjekt og region --project=propane-will-491900-m5 ---region=us-central1 +--region=europe-west1 # Cloud Run service CLOUD_RUN_SVC=osvauco-agent @@ -423,11 +411,11 @@ IMAGE=gcr.io/propane-will-491900-m5/osvauco-agent # Cloud Build gcloud builds submit --config=cloudbuild.yaml --project=propane-will-491900-m5 -# Deploy manuelt (hvis nødvendig) +# Deploy manuelt gcloud run deploy osvauco-agent \ --image=$IMAGE:latest \ --project=propane-will-491900-m5 \ - --region=us-central1 \ + --region=europe-west1 \ --platform=managed ``` @@ -447,7 +435,7 @@ Auth: Google OAuth now. BankID on `-os` later (Medioteq first). ## Standard Boot Prompt -Paste this at the start of every Gemini TUI session: +Lim inn dette ved start av HVER sesjon i Gemini TUI: ``` BOOT: Read docs/AGENT_RULEBOOK.md, docs/VAUCO_OS_ROADMAP.md, docs/OSVAUCO_OPAX_SESSION_LOG.md.