# 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 | | `.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: ✅ Live 2026-06-10 ### 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 │ ├── mcp_server/ ← NY: OPAX-MCP — Vauco sin egen CI/CD-kanal (CI1) │ │ ├── server.py FastAPI MCP-server, kjører på Cloud Run │ │ ├── tools/ deploy_service, push_static, get_build_status, ... │ │ └── README.md │ ├── rag/ │ ├── memory/ │ ├── multi_agent/ │ ├── eval/ │ ├── tests/ │ └── tools/ │ ├── auth/ ├── ml/ ├── infrastructure/ ├── scripts/ ├── static/ │ ├── opax.html Operator hub — Chris sitt cockpit (OX1) │ ├── jason.html Jason fullskjerm-chat ✅ LIVE opax.vauco.no/static/jason.html │ ├── billing-dashboard.html │ ├── command-hub.html │ └── admin.html ├── docs/ │ ├── MASTERPLAN.md ← denne filen │ ├── ROADMAP.md │ ├── HANDOFF.md │ ├── AGENT_RULEBOOK.md │ ├── gemma/ │ │ ├── world.md Vaucos verden — kontekstpakke for Emma/Gemma ✅ │ │ └── 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` | Emmas verden — kontekstpakke for lokal Gemma-modell | Bygges simultant med alt annet | | `protocols/sessions/YYYY-MM-DD_.md` | Detaljerte protokoller | Append-only | --- ## 6. AI-modell — tofase-strategi ### Fase 1 — Nå (Vertex AI, løper ut kreditter) | Parameter | Verdi | Merknad | |-----------|-------|---------| | **Intern modell (Emma/Chris)** | `gemini-2.5-pro` / `gemini-2.5-flash` | Via Vertex AI, tærer på kreditter | | **Stand-in operatør** | Perplexity (Sonnet 4.6) via GitHub MCP | Erstatter Emma til Gemma-VM er oppe | | **Kundemodell (Jason)** | `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 | |-----------|-------|---------| | **Emma (intern)** | `gemma-4-12b-it` int4 | GCP `g2-standard-4` Spot VM (~$120–150/mnd) | | **Serving** | Ollama (utvikling) → vLLM (produksjon) | | | **Jason (kunder)** | `gemini-2.5-flash` via Vertex | Uendret — kunder merker ingenting | | **Kontekst** | `docs/gemma/world.md` lastet som system-prompt | Emma forstår Vauco fra dag 1 | **Prinsipp:** Kunder bruker alltid Gemini via Vertex (Jason). Chris bruker Emma lokalt. **Emma er ikke dum når den starter** — kontekstpakken (`docs/gemma/world.md`) bygges simultant. **Bytte til Emma/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] OX1c — Jason fullskjerm-chat LIVE ✅ 2026-06-10 - [x] CI5+CI6 — OPAX-MCP live + Jason kaller MCP ✅ 2026-06-10 - [ ] OX2 — Command Hub: samle jason.html + opax.html + command-hub.html - [ ] CG4b — Token dashboard breakdown per modul - [ ] C4 — Medioteq HITL-møte → første betalende kunde ### 🟠 NEXT - CI1 — OPAX-MCP: full CI/CD-kanal (CI1a–e) - ML-3a — GCP GPU-VM for Emma (Gemma 4) + `emma.vauger@vauco.no` opprettes - CG4d — Kundeprisingskalkulator - C5 — Salgsdemo ### 🟡 LATER - ML-3c — Hybrid agent: Emma internt / Jason for kunder - T1–T4 — Threadstone - Fase C — Multi-tenant --- ## 8. Agent-identitet | Identitet | E-post | Modell | Rolle | Status | |-----------|--------|--------|-------|--------| | Eier / admin | `chris.christiansen@vauco.no` | — | Full kontroll | ✅ Aktiv | | Jason Vauger | `jason.vauger@vauco.no` | `gemini-2.5-flash` via Vertex | Kundevendt agent, `billing.viewer` + `run.invoker` | ✅ Live | | Emma Vauger | `emma.vauger@vauco.no` | `gemma-4-12b-it` (lokal GPU-VM) | Intern agent for Chris — erstatter Perplexity stand-in | 🔮 ML-3a trigger — opprett Google Workspace-konto samtidig | | Perplexity (stand-in) | — | Sonnet 4.6 via GitHub MCP | Operatør-assistent til Emma er oppe | ✅ Aktiv nå | | Fremtidig gruppe | `billing@vauco.no` | — | `billing.viewer` (Fase C) | 🔮 Fase C | **Forbudte kontoer:** `tinius.vauger`, `ccv` — aldri gi tilganger. > **Emma vs Jason:** Emma er Chris sin interne co-pilot (kodeskriving, deploy, planlegging). Jason er kundenes agent (billing, anomaly, status). To separate identiteter, to separate ansvarsområder. --- ## 9. Cloud Run — live endepunkter **Service:** `osvauco-agent` | **Region:** `us-central1` | **Project:** `propane-will-491900-m5` **Direkte URL:** `https://osvauco-agent-zjbqp3prqq-uc.a.run.app` ← bruk denne (ikke 357036551735) **Public URL:** `https://opax.vauco.no` (via LB 34.98.77.173 + IAP `@vauco.no`) **Jason UI:** `https://opax.vauco.no/static/jason.html` ✅ LIVE | Endepunkt | Status | |-----------|--------| | `GET /health` | ✅ (ingen auth påkrevd) | | `POST /run` | ✅ (krever metadata-token, se auth-løsning i ROADMAP) | | `GET /static/jason.html` | ✅ OX1c LIVE | | `GET /opax/build-status` | ✅ (OX1a) | | `GET /billing/tokens/by-module` | ✅ (CG4a) | | `GET /billing/tokens/estimate` | ✅ (CG4c) | | `GET /billing/summary` | ✅ | | `GET /billing/anomalies` | ✅ | | `GET /billing/history` | ✅ | | `GET /billing/budget` | ✅ | | `POST /billing/budget` | ✅ | | `GET /auth/login` | ✅ | | `GET /auth/callback` | ✅ | --- ## 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:** $300–500/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 på 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-21 | `app.threadstone.vauco.no` CNAME uten side | Bygg T2 eller fjern CNAME | Lav | | OQ-22 | Claude EU-kvote | Vent på Google Cloud-team | Medium | | OQ-26 | Ingen statuspage | Etter første kunde | Lav | --- ## 12. OPAX — fremtidig visjon ### Operator Hub (OX1 → OX2) — Chris sitt cockpit OPAX (`opax.vauco.no`) er Chris sin **komplette arbeidsflate**. **Ferdig:** - ✅ Jason-chat (`/static/jason.html`) — OX1c LIVE 2026-06-10 - ✅ Billing dashboard - ✅ Cloud Build live-widget — OX1a - ✅ Embedded TUI-panel — OX1b - ✅ Token Intelligence endepunkter — CG4a+c - ✅ CI5 — OPAX-MCP build+deploy - ✅ CI6 — Jason kaller MCP live **Gjenstår:** - OX2 — Command Hub: sy sammen alle grensesnitt - Token Intelligence dashboard i UI — CG4b - OPAX-MCP full CI/CD-kanal — CI1 ### OPAX-MCP — Vauco sin egen CI/CD-kanal (CI1) Erstatter GitHub Actions som CI/CD-trigger. Jason/Emma kaller MCP-serveren direkte: ``` Chris / Jason / Emma ↓ OPAX-MCP (agents/mcp_server/ → Cloud Run) ↓ GCP APIs: Cloud Build, GCS, Secret Manager, Cloud DNS ↓ Deploy skjer direkte — GitHub er kun kode-lager ``` **MCP-verktøy som skal eksponeres:** | Tool | GCP API | |------|----------| | `deploy_service` | Cloud Build API | | `push_static` | Storage API | | `get_build_status` | Cloud Build API | | `run_query` | BigQuery API | | `write_secret` | Secret Manager API | | `get_logs` | Cloud Logging API | ### Gemma/Emma-verdensbygging (ML-3b) — done ✅ `docs/gemma/world.md` er ferdig. Emma er ikke dum når hun starter. --- ## 13. TUI-bridge — reaktivert som OX1b ✅ Embedded TUI-panel i OPAX operator hub er live som OX1b. --- *OSVauco | propane-will-491900-m5 | us-central1 | Autoritativ fra 2026-05-31 | Oppdatert 2026-06-10*