16 KiB
VAUCO OS — MASTERPLAN
Eier: Chris Christiansen · Vauco AS · Org.nr 935 989 779 Sist oppdatert: 2026-06-11 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 APPROVEDfra Chris. Regel #3: Roadmap → seksjon 7. Sesjonsstatus →docs/HANDOFF.md. Ingen andre handoff-filer.
Lessons Learned
- Cloud Build smoke-tests require: hardcoded canonical BASE_URL, bare identity token (no --audiences), and explicit run.invoker IAM binding for the Cloud Build service account on every service.
- 2026-06-10 — Absolutte filstier i Python: Bruk alltid
Path(__file__).parent / "..."for å referere til statiske filer og konfigurasjon i FastAPI/Cloud Run. Aldri relativ sti som"static/file.html"— dette bryter når WORKDIR avviker fra repo-rot (f.eks. i Docker). Regelen gjelder alle fremtidige tjenester og klientleveranser. - 2026-06-10 — Dockerfile COPY static/:
static/-mappen må eksplisitt kopieres inn i Docker-imaget viaCOPY static/ ./static/. Den kopieres ikke automatisk selv om build-konteksten er repo-roten. - 2026-06-10 — app.py mangler GET /: FastAPI returnerer
{"detail":"Not Found"}for alle ruter som ikke er definert — inkludert rot (/). Sørg alltid for at rot-ruten er eksplisitt definert og peker på riktig HTML-fil via absolutt sti.
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: ✅ 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 APPROVEDfra 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_<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 (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:
- ML-3b kontekstpakke ferdigstilt ✅
- GPU-VM verifisert med smoke-test
- Eksplisitt
MODEL APPROVEDfra Chris - Oppdatering av
agent.py,AGENT_RULEBOOK.mdog denne tabellen i samme commit
7. Roadmap — kortversjon
Full status i
docs/ROADMAP.md.
🔴 NOW
- OX1c — Jason fullskjerm-chat LIVE ✅ 2026-06-10
- CI5+CI6 — OPAX-MCP live + Jason kaller MCP ✅ 2026-06-10
- OX1-fix — opax.html LIVE via GET / ✅ 2026-06-10 (absolutt sti + Dockerfile static copy)
- OX2 — Command Hub: samle jason.html + opax.html + command-hub.html
- CG4b — Token dashboard breakdown per modul
- C4 — Medioteq HITL-møte → partnerstrategimøte (joint venture)
🟠 NEXT
- CI1 — OPAX-MCP: full CI/CD-kanal (CI1a–e)
- ML-3a — GCP GPU-VM for Emma (Gemma 4) +
emma.vauger@vauco.noopprettes - 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 |
| 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
OPAX UI: https://opax.vauco.no/ ✅ LIVE (opax.html via GET /, fikset 2026-06-10)
| Endepunkt | Status |
|---|---|
GET / |
✅ Serverer opax.html (fikset 2026-06-10) |
GET /health |
✅ (ingen auth påkrevd) |
POST /run |
✅ (krever metadata-token, se auth-løsning i ROADMAP) |
GET /static/jason.html |
✅ OX1c LIVE |
GET /static/{filename} |
✅ Generell static-rute |
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.
Medioteq — Joint Venture (ikke en vanlig kunde)
Medioteq er et partnersamarbeid der Vauco AS bidrar med plattform, infrastruktur og AI-kompetanse. Dette er ikke et standard SaaS-kundeforhold — Vauco AS hjelper Medioteq med å bygge sin kliniske AI-løsning på OPAX-plattformen som et joint venture. Milestone C4 (HITL-møte) er derfor et partnerstrategimøte, ikke et salgsmøte. Kliniske data forblir isolert i
europe-north1(Medioteq GCP-prosjekt). BankID planlegges på-os-domener for kliniske brukere.
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:
- ✅ opax.html LIVE via
GET /— absolutt sti, fikset 2026-06-10 - ✅ 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-11