OSVauco/docs/HANDOFF.md

175 lines
8.0 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-04 ~21:30 CEST
**Skrevet av:** Jason Vauger (via Perplexity) på vegne av Chris Christiansen
**Status:** Fase 8 pågår. PR #15 (IAP /health-fix) er MERGET til main. Neste: fiks cloudbuild.yaml secrets → manuell deploy → verifiser.
> **Regel:** Dette er **den eneste** HANDOFF-filen. Overskrives hver sesjon. Tidligere handoffs er flyttet til `docs/archive/handoffs/`.
---
## 🔴 ABSOLUTT REGEL #1
**Du gjør ingenting uten at Chris eksplisitt skriver `PLAN APPROVED` eller et tilsvarende godkjenningssignal.**
Du er en assistent, ikke en autonom agent. Foreslå. Vent. Utfør kun etter godkjenning.
Self-modifisering av infrastruktur, secrets, IAM eller produksjonsmiljø uten godkjenning = **hard stop**.
---
## 🎯 NESTE OPPGAVE (les denne først)
**Fase 8 — deploy den mergede /health-fixen og verifiser OPAX live.**
Konkret, i rekkefølge (én av gangen, vis output, aldri deploy uten `DEPLOY GODKJENT`):
1. **Fiks cloudbuild.yaml deploy-steget** — det mangler OAuth/session-secrets. Uten dette sletter `--set-env-vars` alle secrets ved deploy.
- Legg til etter `--set-env-vars`-linja: `- '--set-secrets=GOOGLE_CLIENT_ID=GOOGLE_CLIENT_ID:1,SESSION_SECRET=SESSION_SECRET:1,GOOGLE_CLIENT_SECRET=GOOGLE_CLIENT_SECRET:1'`
- Legg til i `substitutions:`: `_GEMINI_LOCATION: global`
2. Commit (signér "Powered by Jason, Crafted by Vauco") + push.
3. **Manuell deploy:** `gcloud builds submit --config=cloudbuild.yaml --project=propane-will-491900-m5` (kun etter `DEPLOY GODKJENT`).
4. Verifiser: ny Cloud Run revisjon + Vertex-ping + browser-login på opax.vauco.no.
**IKKE gjør dette (kjente feller fra forrige sesjon):**
- IKKE re-merge PR #15 — den er allerede merget til main.
- IKKE sett opp nye CI/CD-triggere — vi deployer manuelt. Ut av scope.
- IKKE kjør `gcloud builds triggers list` — den henger.
---
## 🏗 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.**
---
## 🟡 Tidligere sesjon (2026-05-31) — Konsolidering + vauco.no inkorporert
PR `chore/consolidate-2026-05-31` rydder:
- ✅ Ny `docs/MASTERPLAN.md` (autoritativ, erstatter både rot-`MASTERPLAN.md` og gammel docs-versjon)
- **Ny seksjon §4b:** `vauco.no` salgsportal — formål, IA, visuell retning, salgs-flow, evolusjon V1→V4
- **Hierarkiet utvidet til 4 nivåer:** apex (`vauco.no`) lagt til som egen kunde-flate
- **Nye reserverte subdomener** dokumentert: `status.`, `docs.`, `careers.`
- ✅ Ny `docs/ROADMAP.md` (erstatter `docs/VAUCO_OS_ROADMAP.md`)
- **V-spor lagt til:** V1aV1e (vauco.no MVP) — kan kjøres parallelt med CG3
- ✅ Ny `docs/HANDOFF.md` (denne filen — eneste handoff fra nå)
- ✅ Ny `docs/vauco-site/DESIGN.md` (klar-til-plukk-opp spec for V1)
- ✅ Oppdatert `docs/AGENT_RULEBOOK.md` (region, modell, MCP_SERVICE rettet)
- ✅ Slettet `docs/archive/{Cost_Management_Rules.md,GCPBestPractices.md,OSVAUCO_OPAX_SESSION_LOG.md}` (duplikater)
- ✅ Fjernet Git merge-konfliktmarkører i `docs/OSVAUCO_OPAX_SESSION_LOG.md`
- ✅ Flyttet `HANDOFF_20260526.md`, `HANDOFF_20260531.md`, `HANDOFF_20260531_claude47.md``docs/archive/handoffs/`
- ✅ Slettet `Procfile` (legacy, ikke brukt av Cloud Run)
- ✅ Slettet `docs/VAUCO_OS_ROADMAP.md` (erstattet av ROADMAP.md)
- ✅ Oppdatert `docs/TODO.md` til å peke på ROADMAP
- ✅ Bekreftet primary region: `us-central1` for Cloud Run `osvauco-agent`
- ✅ Åpne PR-er: #8 (docs region), #9 (opax comments), #10 (vm stop-fix)
- ✅ VM stop-fix: `scripts/stop-osvauco-dev-vm.sh` laget, DELETE-risiko eliminert
---
## 📁 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 · Fase 8: cloudbuild secrets-fix → manuell deploy.*