379 lines
14 KiB
Markdown
379 lines
14 KiB
Markdown
# 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: ✅ 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 — primærgrensesnitt (OX1c) ✅
|
||
│ ├── billing-dashboard.html
|
||
│ ├── command-hub.html
|
||
│ ├── costguard.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:**
|
||
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
|
||
- [ ] OX1c — Jason fullskjerm-chat pushet, venter på deploy
|
||
- [ ] CG4b — Token dashboard breakdown per modul
|
||
- [ ] C4 — Medioteq HITL-møte → første betalende kunde
|
||
|
||
### 🟠 NEXT
|
||
- CI1 — OPAX-MCP: Vauco sin egen MCP-server/CI-kanal mot GCP
|
||
- ML-3a — GCP GPU-VM for Emma (Gemma 4)
|
||
- 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 |
|
||
| 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-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` | ✅ |
|
||
| `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) — Chris sitt cockpit
|
||
|
||
OPAX (`opax.vauco.no`) + `jason.html` blir Chris sin **komplette arbeidsflate**.
|
||
|
||
**Ferdig:**
|
||
- ✅ Jason-chat (`/jason`) — OX1c
|
||
- ✅ Billing dashboard
|
||
- ✅ Cloud Build live-widget — OX1a
|
||
- ✅ Embedded TUI-panel — OX1b
|
||
- ✅ Token Intelligence endepunkter — CG4a+c
|
||
|
||
**Gjenstår:**
|
||
- Token Intelligence dashboard i UI — CG4b
|
||
- OPAX-MCP server — 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*
|