OSVauco/docs/ROADMAP.md

136 lines
7.8 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.

# VAUCO OS — ROADMAP
**Eier:** Chris Christiansen
**Sist oppdatert:** 2026-06-09
**Erstatter:** `docs/VAUCO_OS_ROADMAP.md` (deprecated)
> Levende dokument. Oppdateres hver sesjon. Arkitektur og fasit ligger i `docs/MASTERPLAN.md`.
---
## NOW — Aktiv akkurat nå
- [x] **K2 — AGENT_RULEBOOK retting**
- Region → `us-central1`, modell → `gemini-2.5-pro`, MCP_SERVICE → `osvauco-agent`
- Done når: AGENT_RULEBOOK matcher MASTERPLAN §6 og §9
- [x] **F8 — End-to-end test via opax.vauco.no**
- Cloud Run `/health` ✅, IAP blokk ✅
- browser-login → chat → svar ✅
- HITL gate: `FASE8 APPROVED`
- [ ] **CG3e — Tokenmeter for agenter (LLM-bruk i CostGuard)**
- Logg LLM-bruk (tokens, modell, agent) til egen BigQuery-tabell
- Nytt endpoint `/billing/tokens/summary` som aggregerer kost per agent/modell
- Nytt kort på `static/billing-dashboard.html` for "Tokenbruk per agent" (MVP)
---
## NEXT — Neste opp (etter NOW)
### vauco.no salgsportal (V-spor) — kan kjøres parallelt med CG3
> **ARKITEKTURVALG 2026-06-05:** vauco.no hostes på **GCP** (GCS static bucket + global HTTPS load balancer + Cloud CDN), IKKE GitHub Pages. Begrunnelse: samle all hosting på Google for fremtidig konsolidering der alle sider bygges/selges fra ett sted. Kildekode i `vauco-saas/vauco-site` (public). Stack: bucket `vauco-site-public` → backend-bucket `vauco-site-backend` (CDN på) → url-map `vauco-site-urlmap` → managed SSL `vauco-site-cert` → egen global IP **34.13.124.217** (HTTPS-proxy + HTTP→HTTPS-redirect). Rører IKKE opax/costguard/threadstone-LB-ene.
- [x] **V1a** — Opprett `vauco-saas/vauco-site` (public repo) · 2026-06-05 (commit 187ca40)
- [x] **V1b** — Bygg MVP: hero + modul-grid + om-oss + kontakt + personvern + vilkår (mobil-først) · 2026-06-05
- [x] **V1c** — DNS i Proisp: apex `vauco.no` + `www` A-record → 34.13.124.217 (GCP LB) · 2026-06-05 (erstattet GitHub Pages-plan)
- [x] **V1d** — Erstatt "Under construction" — V1 LIVE på https://vauco.no (GCS+LB, SSL ACTIVE) · 2026-06-05
- [ ] **V1e** — Sett opp SPF + DKIM + DMARC TXT-records på `vauco.no`
### CostGuard Strategi & Arkitektur
> Dette er de overordnede prinsippene for CostGuard-modulen.
- **Dobbelt formål:** CostGuard er én felles kostnadsmotor som tjener to formål:
- **"Min kost" (Egenbruk):** Intern overvåkning av Vauco sine egne GCP- og AI-kostnader, inkludert anomalideteksjon og tokenmeter.
- **"Salgsmodus":** Den samme motoren og dataene brukes til å bygge innsikt, argumentasjon og tilbud i dialog med potensielle kunder.
- **Modellstrategi (prinsipp, ingen bytte nå):**
- **Pro-modell (`gemini-2.5-pro`):** Brukes til "high-touch" oppgaver der kvalitet er kritisk: kundedemoer, komplekse analyser, generering av pitch-tekst og viktige forklaringer.
- **Flash-modell (fremtidig):** En rimeligere og raskere modell skal på sikt brukes for alt som kjører kontinuerlig: periodiske rapporter, varsler, grunnleggende anomalideteksjon og andre bakgrunnsoppgaver.
- **Modell-agnostisk Arkitektur:** Backend-API-et for CostGuard skal ha et `analysis_engine`-lag som kan rute kall til riktig modell (Pro eller Flash) basert på type oppgave og viktighet.
- **Eksplisitt modell-lås:** Ingen endring av produksjonsmodell skjer før Chris gir en eksplisitt `MODEL APPROVED`, i henhold til `AGENT_RULEBOOK.md`.
- **Data & Logging:**
- **Hierarkisk koststruktur:** CostGuard skal unngå flate kostnadsetiketter (som "Compute Engine") og heller presentere kostnader i en hierarkisk struktur der totalsummer ruller opp fra underkomponenter (f.eks. agenter, nettsteder, spesifikke tjenester).
- **Token-logging:** All AI-bruk skal logges til en `llm_token_usage`-tabell (med input/output/total tokens + estimert kostnad). Dette er kritisk for å senere kunne sammenligne kost/nytte-effekten av Pro vs. Flash-modeller.
### CostGuard frontend wiring
- [x] **CG3a** — Bygg `static/costguard.html` (OAuth-knapp + billing embed)
- [x] **CG3b** — Sett CNAME `costguard.oss.vauco.no` → Cloud Run i Proisp
- [x] **CG3c** — Verifiser `/static/costguard.html` tilgjengelig via Cloud Run
- [x] **CG3d** — Test OAuth-flow fra landingssiden
- [ ] **OQ-21** — Bygg `app.threadstone.vauco.no` eller fjern CNAME
---
## LATER — Backlog (vent på trigger)
### Go-to-market CostGuard
- [ ] **C4** — Medioteq HITL-møte → `terraform apply` → første betalende kunde
- [ ] **C5** — Salgsdemo: `costguard.os.vauco.no` + demo-video
- [ ] **DX5** — Dialogflow Messenger live på costguard-landingssiden
- [ ] **ML-2** — Adaptiv intelligens (trigger: >500 telemetri-kall)
### Modul #2 — Threadstone
- [ ] **T1** — Konsolider `threadstone-instructions``OSVauco/docs/threadstone/` (trigger: T2 starter)
- [ ] **T2** — Bygg `app.threadstone.vauco.no` i `vauco-saas.github.io`
- [ ] **T3** — Koble til OPAX-engine via `POST /threadstone/generate`
- [ ] **T4** — Pilot med første kunde
### Infrastruktur — Fase C
- [ ] **C1** — Terraform-konvertering (påbegynt: `infrastructure/terraform/modules/`)
- [ ] **C2** — Multi-tenant stamp-out (`scripts/onboard-client.sh`)
- [ ] **C3** — BQ-2 / Looker Studio kobling
- [ ] Full boot cycle acceptance test (automatisert)
- [ ] OPS agent + BigQuery live logging
- [ ] `opax-mcp/` restruktureres som ordentlig modul-subtree
- [ ] **CI1 — MCP-native CI/CD uten GitHub**
- Etablere egen MCP-kanal mot Google Cloud Build / Cloud Deploy
- Migrere deploy-styring for Jason fra GitHub-PAT til GCP service account (IAM + Secrets Manager)
- Dokumentere ny flyt der Jason kan trigge build/deploy direkte via MCP i stedet for GitHub-webhooks
### OPAX-evolusjon
- [ ] Voice-input på `opax.vauco.no` (Web Speech API → Whisper)
- [ ] Magic-link auth for kunde-onboarding
- [ ] `POST /opax/generate` endpoint
### Strategisk
- [ ] **Deep Dream** — røres ikke før Modul #1 har betalende kunde
- [ ] **Proof of Curiosity** — defineres etter Modul #1 + Modul #2 lever
---
## BLOCKED
-**OQ-22** — Claude Opus 4.6/4.7 EU-kvote ikke innvilget. Midlertidig på `gemini-2.5-pro` via Vertex AI EU.
---
## KJENTE HULL — ikke i en fase ennu
- [x] **OQ-23**`vauco.no` LIVE (GCS+LB) · 2026-06-05
- [ ] **OQ-24** — SPF/DKIM/DMARC mangler på `vauco.no` (Google Workspace MX er satt, men autentisering ikke) → V1e
- [x] **OQ-25** — Personvern + vilkår publisert · 2026-06-05
- [ ] **OQ-26** — Ingen statuspage → etter første kunde
---
## ✅ Fullførte faser
- [x] **Phase 0** — Baseline: repo, `.gemini/`-struktur, boot-script, sesjonslogg
- [x] **Phase 1** — Domain/protocol locking, `ARCHITECTURE.md`
- [x] **Phase 2**`opax.vauco.no` LIVE: Cloud Run, CNAME, SSL · 2026-05-21
- [x] **Phase 3** — Nemotron session loop, `docs/TODO.md`, Phase 1+2 rapport · 2026-05-21
- [x] **Phase 4** — Docs hardening: LEARNINGS 007009, SECRETS-SETUP, IAP-SETUP kartlegging · 2026-05-25
- [x] **Phase 5** — Cloud Run IAM-autentisering på `osvauco-agent`: kun Chris + Jason · 2026-05-25
- [x] **Phase 5 IAP** — IAP migrering til GCP Load Balancer (IP 34.98.77.173) · 2026-05-30
- [x] **Phase 6** — CI/CD: auto-deploy på push til main · 2026-05-30
- [x] **Phase 7** — RAG corpus `osvauco-corpus` populert i `europe-west4` · 2026-05-30
- [x] **GDrive/GitHub paritet** — mirror-script, PS1 prompt, IAM/Secrets · 2026-05-25
- [x] **Repo-konsolidering trinn 1**`vauco-os`, `vauco-gemini-tui-bridge`, `command-hub` arkivert · 2026-05-27
- [x] **Terraform bootstrap-modul**`infrastructure/terraform/modules/{vauco-bootstrap,vauco-platform}` opprettet · 2026-05-26
- [x] **OPAX operator hub**`static/opax.html` deployet · 2026-05-31
- [x] **K1 — Repo-konsolidering** · 2026-06-09
- [x] **K3 — Fiks nattlig GDrive backup** · 2026-06-09
---
*Sjekkliste-logikk: NOW skal være ≤4 oppgaver. Når en NOW er done → flytt til Fullført. Når en NEXT starter → flytt opp til NOW.*