* docs: update HANDOFF.md for us-central1 region and current PR/VM stop status * docs: add periodic status updates requirement to AGENT_RULEBOOK.md * docs: confirm us-central1, Fase 8 gemini-2.5-pro status, and startup doc-check rules * chore(docs): fix region references europe-west1 → us-central1 in docs and scripts * docs: correct RAG corpus region to europe-west1 in HANDOFF.md
179 lines
7.0 KiB
Markdown
179 lines
7.0 KiB
Markdown
# HANDOFF — Vauco OS
|
||
|
||
**Sist oppdatert:** 2026-05-31 ~16:30 CEST
|
||
**Skrevet av:** Perplexity (Sonnet 4.6) på vegne av Chris Christiansen
|
||
**Status:** Repo-konsolidering pågår. Klar for Fase 8 verifisering rett etter merge.
|
||
|
||
> **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**.
|
||
|
||
---
|
||
|
||
## 🏗 Hva er dette prosjektet?
|
||
|
||
Se `docs/MASTERPLAN.md` for full sannhet. Kortversjonen:
|
||
|
||
```
|
||
Vauco OS (plattform)
|
||
└── OPAX (engine på Cloud Run us-central1)
|
||
├── CostGuard (Modul #1 — live på costguard.oss.vauco.no)
|
||
├── Threadstone (Modul #2 — Q3 2026)
|
||
└── [Modul #3+]
|
||
```
|
||
|
||
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 |
|
||
| CI/CD Cloud Build → Cloud Run | ✅ Operativt (auto-deploy på push til main) |
|
||
| RAG corpus `osvauco-corpus` | ✅ Populert, `europe-west1` |
|
||
| OAuth2 (Google) | ✅ I Secret Manager |
|
||
| Budget guard (500 NOK/mnd) | ✅ Live |
|
||
| AI-modell | ✅ `gemini-2.5-pro` via Vertex AI (us-central1) |
|
||
| `costguard.oss.vauco.no` | ✅ Live (Cloudflare Pages) |
|
||
| Terraform bootstrap-modul | ✅ I `infrastructure/terraform/modules/` |
|
||
| BigQuery dataset + sink | ⏳ Oppe, men tabell ikke populert ennå |
|
||
|
||
---
|
||
|
||
## 🟡 Denne sesjonen (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:** V1a–V1e (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
|
||
|
||
**Andre hull avdekket og dokumentert i MASTERPLAN §11 + ROADMAP:**
|
||
- OQ-23: `vauco.no` viser "Under construction" — fikses i V1
|
||
- OQ-24: Mangler SPF/DKIM/DMARC — salgsmail havner i spam
|
||
- OQ-25: Mangler personvern.html/vilkar.html — GDPR-krav før betalende kunde
|
||
- OQ-26: Ingen statuspage — trust-signal etter første kunde
|
||
|
||
**Etter merge — to spor parallelt:**
|
||
- **F8** (end-to-end test av OPAX)
|
||
- **V1** (vauco.no MVP)
|
||
|
||
---
|
||
|
||
## 🔄 Neste oppgave: Fase 8 — End-to-end test (browser)
|
||
|
||
Cloud Run og IAP er allerede verifisert (`/health` OK via Cloud Run, IAP blokkerer uautentisert).
|
||
|
||
**Det som gjenstår:**
|
||
|
||
### Steg 1 — Verifiser modell-config
|
||
```bash
|
||
# Sjekk at app bruker gemini-2.5-pro, ikke Claude
|
||
gcloud run services describe osvauco-agent --region us-central1 \
|
||
--format='value(spec.template.spec.containers[0].env[?(@.name=="VERTEX_MODEL")].value)'
|
||
# Forventet: gemini-2.5-pro
|
||
```
|
||
|
||
### Steg 2 — Test Vertex Gemini direkte
|
||
```bash
|
||
curl -X POST \
|
||
"https://us-central1-aiplatform.googleapis.com/v1/projects/propane-will-491900-m5/locations/us-central1/publishers/google/models/gemini-2.5-pro:generateContent" \
|
||
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
|
||
-H "Content-Type: application/json" \
|
||
-d '{"contents":[{"role":"user","parts":[{"text":"ping"}]}]}'
|
||
# Forventet: JSON med tekst-svar
|
||
```
|
||
|
||
### Steg 3 — Full end-to-end
|
||
Logg inn på `https://opax.vauco.no` med `chris.christiansen@vauco.no` → send en melding → verifiser at agenten svarer.
|
||
|
||
**HITL gate:** Skriv `FASE8 APPROVED` i denne filen + i ROADMAP når alle steg er verifisert.
|
||
|
||
---
|
||
|
||
## 🔜 Etter Fase 8 — to spor parallelt
|
||
|
||
**Spor A — CG3 (CostGuard frontend wiring)** — inntektsmotor
|
||
**Spor B — V1 (vauco.no salgsportal)** — ansiktet utad, må være live før første kundeklage om "hvem er Vauco?"
|
||
|
||
Se `docs/ROADMAP.md` seksjon NEXT for full sjekkliste og `docs/vauco-site/DESIGN.md` for V1 design-spec.
|
||
|
||
---
|
||
|
||
## 📋 Nøkkelinformasjon
|
||
|
||
| Nøkkel | Verdi |
|
||
|---|---|
|
||
| GCP Project | `propane-will-491900-m5` |
|
||
| Region | `us-central1` |
|
||
| Vertex AI endpoint | `us-central1` |
|
||
| 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` |
|
||
| Kontakt | `chris.christiansen@vauco.no` |
|
||
|
||
---
|
||
|
||
## 📁 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. `.gemini/GEMINI.md` — locked definitions og boot-protokoll
|
||
6. `docs/ARCHITECTURE.md` — teknisk arkitektur
|
||
7. `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.
|
||
|
||
---
|
||
|
||
## 📜 Tidligere handoffs
|
||
|
||
Arkivert i `docs/archive/handoffs/`:
|
||
- `HANDOFF_20260526.md`
|
||
- `HANDOFF_20260531.md`
|
||
- `HANDOFF_20260531_claude47.md`
|
||
|
||
---
|
||
|
||
*Vauco AS · propane-will-491900-m5 · `us-central1`*
|