OSVauco/docs/MASTERPLAN.md
chrischristiansen-glitch 8bc52fc0bb plan(ML-3): Gemma-migrering + kontekstbygging dokumentert i MASTERPLAN + ROADMAP
- MASTERPLAN §6: AI-modell-strategi utvidet med tofase-plan (Vertex nå → Gemma lokalt når kreditter brukes)
- MASTERPLAN §12: OPAX-evolusjon utvidet med Gemma-verdenbygging (simultan kontekstlasting)
- ROADMAP: ML-3 Gemma-migrering lagt til under LATER med trigger + deloppgaver ML-3a–ML-3d
2026-06-10 00:57:27 +02:00

363 lines
13 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 — MASTERPLAN
**Eier:** Chris Christiansen · Vauco AS · Org.nr 935 989 779
**Sist oppdatert:** 2026-06-10
**Status:** 🟢 AUTORITATIV — én kilde til sannhet for hele Vauco-økosystemet
> **Regel #1:** Denne filen er sannheten. Hvis en annen fil sier noe annet — denne vinner.
> **Regel #2:** Endringer her krever eksplisitt `PLAN APPROVED` fra Chris.
> **Regel #3:** Roadmap → seksjon 7. Sesjonsstatus → `docs/HANDOFF.md`. Ingen andre handoff-filer.
---
## 1. Plattformhierarki — sannheten i én modell
```
Vauco AS (selskap, eier alle merkevarer)
├── vauco.no (APEX — bedriftens salgs- og portalside; ansiktet utad)
│ └── ruter besøkende videre til riktig modul
└── VAUCO OS (plattform — visjon, økonomi, token-lag, agent-fabrikk)
└── OPAX (engine — Cloud Run, RAG, agentic arkitektur, IAP)
├── Modul #1 · CostGuard (live på costguard.oss.vauco.no)
├── Modul #2 · Threadstone (landingsside live, app i bygg)
└── Modul #3 · [navngis senere]
Separat merkevare under Vauco AS (parkert til etter Modul #1 + #2 lever):
└── Proof of Curiosity (egen identitet, ikke en OPAX-modul)
```
**Fire nivåer, fire formål:**
| Nivå | Hva | Hvem ser det |
|---|---|---|
| **vauco.no (apex)** | **Bedriftens salgsportal — viser hvem Vauco AS er og hvilke moduler vi selger** | **Alle: kunder, partnere, presse, kandidater** |
| Vauco OS | Plattformen Chris bygger og selger fra | Internt (Chris + agenter) |
| OPAX | Engine som driver modulene | Internt + utviklere |
| Modul (CostGuard / Threadstone / …) | Det kundene faktisk kjøper | Kunder |
**Salgskanal-prinsipp:**
- `vauco.no` = portalen som forteller "hva selger vi" og leder til riktig modul
- Hver modul har sin egen landings-/produktside
- Vauco OS og OPAX nevnes ikke som produkter på `vauco.no` — de er interne verktøy
**Ikke selg Vauco OS. Ikke selg OPAX. De er interne verktøy.**
---
## 2. Registrerte domener — fasit
### Vauco (hos Proisp)
| Domene | Prosjekt | Status |
|--------|----------|--------|
| `vauco.no` | Rot for alle Vauco-tjenester | ✅ Aktiv, live på GCS+LB |
**Aktive subdomener:**
| Domene/subdomen | Teknologi | Status | Eier-flate |
|----------|-----------|--------|------------|
| `vauco.no` (apex) | GCS + GCP Load Balancer + Cloud CDN | ✅ LIVE · 2026-06-05 | Vauco AS apex |
| `www.vauco.no` | Følger apex | ✅ LIVE | Vauco AS apex |
| `opax.vauco.no` | LB + IAP → Cloud Run `osvauco-agent` | ✅ Live (IP 34.98.77.173) | OPAX |
| `oss.vauco.no` | Staging-miljø | ✅ Aktiv | OPAX |
| `os.vauco.no` | Prod-miljø | 🔮 Fase C | OPAX |
| `costguard.oss.vauco.no` | Cloud Run via IAP | ✅ Live | CostGuard |
| `costguard.os.vauco.no` | Promoteres fra oss | 🔮 Fase C | CostGuard |
| `threadstone.vauco.no` | GitHub Pages (`threadstone-landing`) | ✅ Live | Threadstone |
| `app.threadstone.vauco.no` | GitHub Pages (`vauco-saas.github.io`) | ⚠️ CNAME satt, side mangler | Threadstone |
| `<kunde>.vauco.no` | LB + IAP via Terraform | 🔮 Fase C2 | OPAX/Multi-tenant |
**Reservert til senere:**
| Subdomen | Tiltenkt formål | Trigger |
|----------|------------------|---------|
| `status.vauco.no` | Statuspage | Etter første kunde |
| `docs.vauco.no` | Offentlig kundedok | CG4 / første kunde |
| `careers.vauco.no` | Stillinger | Når Vauco rekrutterer |
**Email-infra:**
- MX: Google Workspace ✅
- SPF/DKIM/DMARC: ⚠️ Mangler — sett opp som del av V1e
### Proof of Curiosity (hos Proisp) — egen merkevare
| Domene | Merknad |
|--------|---------|
| `proof-of-curiosity.com` | Registrert — ikke i bruk |
| `proofofcuriosity.com` | Registrert — ikke i bruk |
| `proofofcuriosity.io` | Registrert — ikke i bruk |
| `proof-of-curiosity.no` | Registrert — ikke i bruk |
| `proofofcuriosity.no` | Registrert — ikke i bruk |
> **Trigger:** Ingen POC-arbeid før Modul #1 + #2 lever.
---
## 3. Repo-struktur — fasit
### Aktive repos (5)
| Repo | Formål | Synlighet | Eier-flate |
|------|--------|-----------|------------|
| `OSVauco` | Mono-repo: OPAX-engine, infra, Terraform, all dokumentasjon | Privat | OPAX (rot) |
| `vauco-bootstrap` | Terraform-modul for kunde-provisjonering | Privat | OPAX |
| `vauco-site` | `vauco.no` salgsportal | Public | Vauco AS apex |
| `threadstone-landing` | `threadstone.vauco.no` landingsside | Public | Threadstone |
| `vauco-saas.github.io` | `app.threadstone.vauco.no` Threadstone-app frontend | Public | Threadstone |
### Arkiverte repos
| Repo | Arkivert | Innholdet finnes nå i |
|------|----------|------------------------|
| `vauco-os` | ✅ 2026-05-27 | `OSVauco/docs/architecture/` |
| `vauco-gemini-tui-bridge` | ✅ 2026-05-27 | Arkiv — reaktiveres som del av OX1b |
| `command-hub` | ✅ 2026-05-27 | `OSVauco/static/command-hub.html` |
> **Regel:** Nytt repo krever eksplisitt `REPO APPROVED` fra Chris.
---
## 4. OSVauco — intern mappestruktur (fasit)
```
OSVauco/
├── MASTERPLAN.md
├── README.md
├── AGENTS.md
├── Dockerfile / cloudbuild.yaml
├── agents/
│ ├── core-logic/ OPAX orchestrator + FastAPI app
│ │ ├── agent.py Kjører Gemini nå → Gemma fra ML-3
│ │ ├── app.py
│ │ └── token_logger.py
│ ├── rag/
│ ├── memory/
│ ├── multi_agent/
│ ├── eval/
│ ├── tests/
│ └── tools/
├── auth/
├── ml/
├── infrastructure/
├── scripts/
├── static/
│ ├── opax.html Operator hub — blir Chris sitt cockpit (OX1)
│ ├── billing-dashboard.html
│ ├── command-hub.html
│ ├── costguard.html
│ └── admin.html
├── docs/
│ ├── MASTERPLAN.md ← denne filen
│ ├── ROADMAP.md
│ ├── HANDOFF.md
│ ├── AGENT_RULEBOOK.md
│ ├── gemma/ ← NY: Gemma kontekstpakke (ML-3b)
│ │ ├── world.md Vaucos verden — alt Gemma trenger å vite
│ │ └── README.md
│ └── [øvrige tema-docs]
├── protocols/sessions/
└── data/
```
---
## 4b. vauco.no — salgsportal (Vauco AS apex)
> Eget repo: `vauco-saas/vauco-site` — LIVE 2026-06-05 på GCS+LB.
### Formål
Vauco AS sin offisielle bedriftsside. Selger moduler ved å lede besøkende til riktig produktside.
### Versjons-evolusjon
| Versjon | Inneholder | Trigger |
|---------|------------|---------|
| V1 (MVP) ✅ | Hero + modul-grid + om-oss + kontakt + personvern | LIVE 2026-06-05 |
| V2 | Sales-CTA + CostGuard ROI-kalkulator | Etter første betalende kunde |
| V3 | Blogg, kundereferanser, status-widget | Når 3+ kunder |
| V4 | Internasjonalt (`vauco.no/en`), Proof of Curiosity i footer | Etter Modul #3 |
---
## 5. Dokumenthierarki — én kilde til sannhet
| Fil | Rolle | Oppdateres |
|-----|-------|------------|
| `docs/MASTERPLAN.md` | Arkitektur, domener, repos, agent-identitet | Ved arkitekturendringer |
| `docs/ROADMAP.md` | Faser, status, backlog | Hver sesjon |
| `docs/HANDOFF.md` | Hva ble gjort, hva er neste | Overskrives hver sesjon |
| `docs/AGENT_RULEBOOK.md` | Locked definitions for agent-boot | Ved infrastruktur-låsing |
| `docs/gemma/world.md` | Gemmas verden — kontekstpakke for lokal modell | Bygges simultant med alt annet |
| `protocols/sessions/YYYY-MM-DD_<tema>.md` | Detaljerte protokoller | Append-only |
---
## 6. AI-modell — tofase-strategi
### Fase 1 — Nå (Vertex AI, løper ut kreditter)
| Parameter | Verdi | Merknad |
|-----------|-------|---------|
| **Intern modell (Jason/Chris)** | `gemini-2.5-pro` / `gemini-2.5-flash` | Via Vertex AI, tærer på kreditter |
| **Kundemodell** | `gemini-2.5-flash` | Via Vertex AI — kunder betaler indirekte |
| **Endpoint** | `us-central1` | Vertex-kreditter |
| **SDK** | `google-adk` + `google-genai` | |
| **Status Claude** | ⏳ Venter på EU-kvote | Bytt når kvote innvilget |
### Fase 2 — Gemma-migrering (trigger: kreditter < 20% eller første kunde onboardet)
| Parameter | Verdi | Merknad |
|-----------|-------|---------|
| **Intern modell (Jason/Chris)** | `gemma-4-12b-it` int4 | GCP `g2-standard-4` Spot VM (~$120150/mnd) |
| **Serving** | Ollama (utvikling) → vLLM (produksjon) | |
| **Kundemodell** | `gemini-2.5-flash` via Vertex | Uendret — kunder merker ingenting |
| **Kontekst** | `docs/gemma/world.md` lastet som system-prompt | Gemma forstår Vauco fra dag 1 |
**Prinsipp:** Kunder bruker alltid Gemini via Vertex. Chris/Jason bruker Gemma lokalt.
**Gemma er ikke dum når den starter** — kontekstpakken (`docs/gemma/world.md`) bygges simultant og lastes ved oppstart.
**Bytte til Gemma krever:**
1. ML-3b kontekstpakke ferdigstilt
2. GPU-VM verifisert med smoke-test
3. Eksplisitt `MODEL APPROVED` fra Chris
4. Oppdatering av `agent.py`, `AGENT_RULEBOOK.md` og denne tabellen i samme commit
---
## 7. Roadmap — kortversjon
> Full status i `docs/ROADMAP.md`.
### 🔴 NOW
- [x] K2, F8, CG6, CG3e — alle done ✅
### 🟠 NEXT
- V1e — SPF/DKIM/DMARC
- CG4 — Token Intelligence (estimering + prising)
- OX1 — Operator Hub (Cloud Build widget, TUI, Jason-chat som cockpit)
- ML-3b — Gemma kontekstpakke bygges simultant (starter neste sesjon)
### 🟡 LATER
- C4 — Første betalende kunde
- ML-3 — Full Gemma-migrering (trigger: kreditter < 20%)
- T1T4 Threadstone
- Fase C Multi-tenant
---
## 8. Agent-identitet
| Identitet | E-post | Rolle |
|-----------|--------|-------|
| Eier / admin | `chris.christiansen@vauco.no` | Full kontroll |
| Agent (OPAX / Jason) | `jason.vauger@vauco.no` | `billing.viewer` + `run.invoker` |
| Fremtidig gruppe | `billing@vauco.no` | `billing.viewer` (Fase C) |
**Forbudte kontoer:** `tinius.vauger`, `ccv` aldri gi tilganger.
---
## 9. Cloud Run — live endepunkter
**Service:** `osvauco-agent` | **Region:** `us-central1` | **Project:** `propane-will-491900-m5`
**Direkte URL:** `https://osvauco-agent-357036551735.us-central1.run.app`
**Public URL:** `https://opax.vauco.no` (via LB 34.98.77.173 + IAP `@vauco.no`)
| Endepunkt | Status |
|-----------|--------|
| `GET /health` | |
| `POST /run` | |
| `POST /run/dag` | |
| `GET /billing/summary` | |
| `GET /billing/forecast` | |
| `GET /billing/anomalies` | |
| `GET /billing/history` | |
| `GET /billing/budget` | |
| `POST /billing/budget` | |
| `GET /billing/tokens/summary` | (data fra CG3e) |
| `GET /auth/login` | |
| `GET /auth/callback` | |
| `GET /state` | |
| `GET /telemetry/history` | |
---
## 10. Go-to-market
**Produkt #1: CostGuard**
- **Hvem:** Norske bedrifter med GCP-kostnader de ikke kontrollerer
- **Hva:** Autonomt kostnadsovervåkningsverktøy med AI-anomali-deteksjon
- **Pris:** $300500/mnd per kunde (breakeven ved 1 kunde)
- **Salgskanal:** Chris selv HITL-møte `terraform apply`
**Produkt #2: Threadstone** (Q3 2026)
- Definisjon låses når Modul #1 har første kunde.
---
## 11. Kjente hull
| ID | Problem | Løsning | Prioritet |
|----|---------|---------|-----------|
| OQ-15 | BQ billing_export tabell | Venter aktivering | Medium |
| OQ-17 | `github-token` secret mangler | Opprett alias fra `github-pat` | Medium |
| OQ-18 | VM alltid-på kostnad | Kjør `03-teardown.sh` hver kveld | Høy |
| OQ-20 | Nattlig GDrive backup | Fikset K3 · 2026-06-09 | |
| OQ-21 | `app.threadstone.vauco.no` CNAME uten side | Bygg T2 eller fjern CNAME | Lav |
| OQ-22 | Claude EU-kvote | Vent Google Cloud-team | Medium |
| OQ-23 | vauco.no placeholder | LIVE 2026-06-05 | |
| OQ-24 | Ingen SPF/DKIM/DMARC | V1e | Høy |
| OQ-25 | Ingen personvern/vilkår | LIVE 2026-06-05 | |
| OQ-26 | Ingen statuspage | Etter første kunde | Lav |
---
## 12. OPAX — fremtidig visjon
> Notert 2026-05-28, utvidet 2026-06-10.
### Operator Hub (OX1) — Chris sitt cockpit
OPAX (`opax.vauco.no`) blir Chris sin **komplette arbeidsflate** aldri trenger VM igjen for daglig drift.
**Inneholder når ferdig:**
- Jason-chat (allerede der)
- Billing dashboard (allerede der)
- Cloud Build live-widget (spinner ✅/❌ ved push)
- Embedded TUI/terminal (reaktiverer `vauco-gemini-tui-bridge`)
- Token Intelligence dashboard (CG4)
**Flyt:** tale transkribering Jason analyserer genererer kundemodul Chris reviewer magic-link til kundens mail.
### Gemma-verdensbygging (ML-3b) — simultant spor
**Prinsipp:** Gemma skal ikke være dum når den tar over. Kontekstpakken bygges , simultant med alt annet.
```
docs/gemma/world.md ← bygges løpende fra neste sesjon
├── Hvem er Vauco AS og Chris
├── Plattformhierarkiet (Vauco OS → OPAX → Moduler)
├── Alle aktive domener og endepunkter
├── Agent-identitet og HITL-grenser
├── Alle sesjons-protokoller (komprimert)
├── Teknisk stack og GCP-konfig
├── Gjeldende ROADMAP-status
└── Tone og kommunikasjonsstil (norsk bokmål, direkte)
```
Når Gemma-VM starter `world.md` lastes som system-prompt Jason/Gemma forstår konteksten fra første token.
---
## 13. TUI-bridge — reaktiveres som OX1b
Lokal TUI-plan ble løst av OPAX + Cloud Shell + Gemini TUI. Koden ligger i arkiv (`vauco-gemini-tui-bridge`). Reaktiveres som **OX1b** embedded terminal i operator hub når OX1a (Cloud Build widget) er live.
---
*OSVauco | propane-will-491900-m5 | us-central1 | Autoritativ fra 2026-05-31 | Oppdatert 2026-06-10*