OSVauco/docs/HANDOFF.md

137 lines
5.8 KiB
Markdown

# HANDOFF — Vauco OS
**Sist oppdatert:** 2026-06-09
**Skrevet av:** Jason Vauger (via Perplexity)
**Status:** CG3a (static/costguard.html) er opprettet og deployet via osvauco-agent. Neste steg er CG3b (CNAME costguard.oss.vauco.no).
---
## ✅ OQ-15: Implementering fullført
- **Live Data:** `get_summary`-metoden i `ml/billing_agent.py` henter nå data direkte fra BigQuery `billing_export`-tabellen.
- **Build-fiks:** Feilen i `cloudbuild.yaml` relatert til `$COMMIT_SHA` er rettet, og en ny versjon av `osvauco-agent` er vellykket deployet.
- **Verifisering gjenstår:** Automatisk verifisering av selve endepunktet ble blokkert av IAP. SQL-spørringen er validert, men en full sjekk av UI gjenstår.
---
## 🎯 NESTE OPPGAVE
**CG3b — Sett CNAME `costguard.oss.vauco.no` til Cloud Run `osvauco-agent` i Proisp, og verifiser at domenet peker korrekt uten å endre eksisterende HTTPS-/LB-oppsett.**
---
## 🏗 Hva er dette prosjektet?
Se `docs/MASTERPLAN.md` for full sannhet. Kortversjonen:
```
Vauco OS (plattform)
└── OPAX (kommandosenter + salgsmodul-bygger, Cloud Run us-central1)
├── CostGuard (Modul #1 — live på costguard.oss.vauco.no)
├── Threadstone (Modul #2 — Q3 2026)
└── [Modul #3+]
```
**OPAX = kommandosenter for ALLE prosjekter** (et prosjekt = en klient — samme ting). OPAX bygger, iscenesetter og publiserer prosjekter. OPAX er ikke bundet til noe enkelt prosjekts region.
**Branding-konvensjon for prosjekter:**
| Subdomene | Type |
|---|---|
| `<prosjekt>.oss.vauco.no` | Staging / demo |
| `<prosjekt>.os.vauco.no` | Live produksjon |
(Klient kan videresende eget domene, men kanonisk merkevare-label er alltid `*.vauco.no`.)
Første betalende produkt: **CostGuard** (GCP-kostnadsanalyse via AI).
---
## ✅ Hva er faktisk ferdig (ikke spør om dette igjen)
| Komponent | Status |
|---|---|
| Cloud Run `osvauco-agent` | ✅ Live, `us-central1` |
| `opax.vauco.no` (LB + SSL) | ✅ Live, IP `34.98.77.173` |
| IAP (`@vauco.no` only) | ✅ Aktivert |
| PR #15 IAP /health-fix | ✅ Merget til main (commit 7a09871) |
| CI/CD Cloud Build → Cloud Run | ⚠️ IKKE operativt — ingen trigger, siste builds FAILURE. Deploy MANUELT. |
| RAG corpus `osvauco-corpus` | ✅ Populert, `europe-west1` |
| OAuth2 (Google) | ✅ I Secret Manager |
| AI-modell | ✅ `gemini-2.5-pro` via Vertex AI (us-central1) |
| `costguard.oss.vauco.no` | ✅ Live (Cloudflare Pages) |
---
## 📋 Nøkkelinformasjon
| Nøkkel | Verdi |
|---|---|
| GCP Project | `propane-will-491900-m5` |
| Region (OPAX, LÅST) | `us-central1` |
| Vertex AI endpoint | `us-central1` (kjører `GOOGLE_CLOUD_LOCATION=global` i praksis) |
| Artifact Registry | `us-central1-docker.pkg.dev/propane-will-491900-m5/osvauco-repo` |
| Cloud Run service | `osvauco-agent` |
| Cloud Run URL (direkte) | `https://osvauco-agent-357036551735.us-central1.run.app` |
| Public URL | `https://opax.vauco.no` |
| LB IP | `34.98.77.173` |
| AI-modell | `gemini-2.5-pro` |
| Repo | `vauco-saas/OSVauco` |
| Eier / Operatør | Chris Christiansen — `chris.christiansen@vauco.no` |
| Agent-konto | `jason.vauger@vauco.no` |
---
## 🩺 Medisinsk prosjekt (Medioteq) — SEPARAT, IKKE OPAX
Det medisinske prosjektet er et **eget, fremtidig prosjekt** som **ikke er opprettet ennå** og **ikke er prioritert**. Det påvirker IKKE OPAX sin region eller arkitektur. Når det opprettes, velges region (EU eller US) der og da, uavhengig av OPAX. Alle kliniske/`europe-north1`-regler gjelder KUN det prosjektet — ikke OPAX.
---
## ✅ Fullførte oppgaver i 'NOW'-seksjonen (denne sesjonen)
- **CG3a — CostGuard-landing:** `static/costguard.html` opprettet i OSVauco, designet i Vauco-stil med Google OAuth-knapp + embed av `/static/billing-dashboard.html`. Commit `3a88bef4``main`, deployet til `osvauco-agent` og verifisert tilgjengelig via `https://opax.vauco.no/static/costguard.html`.
---
## ⚠️ Vanlige feil — ikke gjør disse
- **Ikke opprett nye HANDOFF_YYYYMMDD-filer.** Det er kun denne. Overskriv den.
- **Ikke re-merge PR #15** — allerede merget.
- **Ikke sett opp CI/CD-triggere** — deploy manuelt.
- **Ikke bytt til Claude før kvote er bekreftet** + `MODEL APPROVED` fra Chris.
- **Ikke migrere fra us-central1** — regionen er låst for OPAX.
- **Ikke rør IAP, OAuth, eller Secret Manager** uten eksplisitt `DEPLOY GODKJENT`.
- **Ikke oppdater OAuth-klient redirect URIs uten domeneavklaring** — se Issue #16.
- **Ikke hopp over HITL gates.**
---
## 📁 Viktige filer å lese (i denne rekkefølgen)
1. `docs/MASTERPLAN.md` — autoritativ sannhet
2. `docs/ROADMAP.md` — hva som skjer akkurat nå
3. `docs/HANDOFF.md` — denne filen
4. `docs/AGENT_RULEBOOK.md` — regler for hvordan agenter oppfører seg
5. `agents/jason-vauger.md` — Jason Vauger agentprofil
6. `AGENTS.md` — oversikt over alle agenter i ML-laget
7. `.gemini/GEMINI.md` — locked definitions og boot-protokoll
8. `docs/ARCHITECTURE.md` — teknisk arkitektur
9. `docs/OSVAUCO_OPAX_SESSION_LOG.md` — append-only sesjonshistorikk
---
## ⚠️ Vanlige feil — ikke gjør disse
- **Ikke opprett nye HANDOFF_YYYYMMDD-filer.** Det er kun denne. Overskriv den.
- **Ikke gjenopplive `VAUCO_OS_ROADMAP.md`.** Den er slettet 2026-05-31. Bruk `ROADMAP.md`.
- **Ikke bytt til Claude før kvote er bekreftet** av Google Cloud-team + `MODEL APPROVED` fra Chris.
- **Ikke migrere fra us-central1** — regionen er låst.
- **Ikke rør IAP, OAuth, eller Secret Manager** uten eksplisitt `DEPLOY GODKJENT` fra Chris.
- **Ikke opprett nye repos.** Vurder mappe i `OSVauco` først. Krever `REPO APPROVED`.
- **Ikke hopp over HITL gates** — hver fase avsluttes med et godkjenningssignal.
- **Ikke oppdater OAuth-klient redirect URIs uten domeneavklaring** — se Issue #16.
---
*Vauco AS · propane-will-491900-m5 · `us-central1` · Powered by Jason, Crafted by Vauco ·*