OSVauco/docs/HANDOFF.md

136 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# HANDOFF — Vauco OS
**Sist oppdatert:** 2026-06-05
**Skrevet av:** Jason Vauger (via Perplexity) på vegne av Chris Christiansen
**Status:** CostGuard auth-fix er fullført og deployet. Klar for neste fase.
> **Regel:** Dette er **den eneste** HANDOFF-filen. Overskrives hver sesjon. Tidligere handoffs er flyttet til `docs/archive/handoffs/`.
---
## ✅ CostGuard Auth-fix (Ferdig)
- **Auth-ruter lagt til:** /auth/login, /auth/callback, /auth/me, /auth/logout for å håndtere Google OAuth.
- **Container-startfeil løst:** `NameError``@require_auth` er fikset ved å flytte sjekken inn i `/auth/me`-ruten.
- **OAuth redirect URI** for `opax.vauco.no/auth/callback` er registrert og verifisert.
- **Verifisering:**
- `/billing/summary` svarer 200 med JSON.
- Dashboardet på `/static/billing-dashboard.html` laster og viser 0 kr, som forventet.
- **Konklusjon:** Auth-laget for CostGuard er nå operativt.
---
## 🎯 NESTE OPPGAVE (les denne først)
**OQ-15 Aktiver og verifiser BigQuery billing_export for prosjektet, slik at CostGuard får ekte historiske kostdata.**
---
## 🏗 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.
---
## ⚠️ 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 ·*