251 lines
8.8 KiB
Markdown
251 lines
8.8 KiB
Markdown
# VAUCO OS — MASTERPLAN RESET
|
|
**Versjon:** 2026-05-27 | **Eier:** Chris Christiansen | **Status:** Autoritativ
|
|
|
|
---
|
|
|
|
## 1. SITUASJONSANALYSE — Hvor er vi nå?
|
|
|
|
Du har bygget mye bra, men jobbet utenfra inn i stedet for innenfra ut. Det har skapt:
|
|
|
|
- **Dobbelt opp:** To CostGuard-implementasjoner, dupliserte MD-filer, overlappende repos
|
|
- **Repo-kaos:** 9 repos for det som egentlig er 1 kjerne + 1 produkt
|
|
- **Tapt tråd:** TUI-bridge → OPAX → Pages → CostGuard-landing — hvert sprang tok deg vekk fra planen
|
|
- **Manglende kryssjekk:** MASTERPLAN, ROADMAP og HANDOFF er ikke synkroniserte
|
|
|
|
**Det gode:** Alt ligger nå på `vauco-saas`. Grunnmuren (Cloud Run, RAG, Memory, OAuth) er solid.
|
|
|
|
---
|
|
|
|
## 2. SANNHETEN OM HVA DU HAR
|
|
|
|
### To separate ting — hold dem adskilt
|
|
|
|
```
|
|
Vauco AS
|
|
├── VAUCO OS (intern plattform — kun Chris)
|
|
│ └── Formål: operere, bygge og selge fra
|
|
│
|
|
└── THREADSTONE (eksternt SaaS-produkt — til kunder)
|
|
└── Formål: selges til bedrifter
|
|
```
|
|
|
|
Og et tredje prosjekt under utvikling:
|
|
|
|
```
|
|
└── PROOF OF CURIOSITY (separat merkevare/prosjekt)
|
|
└── Domener registrert, ikke lansert ennå
|
|
```
|
|
|
|
Disse skal ALDRI blandes i samme repo, samme deploy eller samme domenestruktur.
|
|
|
|
---
|
|
|
|
## 3. REGISTRERTE DOMENER
|
|
|
|
### Vauco (hos Proisp)
|
|
|
|
| Domene | Prosjekt | Status |
|
|
|--------|----------|--------|
|
|
| `vauco.no` | Vauco OS / alle Vauco-tjenester | ✅ Aktiv, verifisert på GitHub |
|
|
|
|
**Aktive subdomener under vauco.no:**
|
|
|
|
| Subdomen | Teknologi | Status |
|
|
|----------|-----------|--------|
|
|
| `opax.vauco.no` | CNAME → Cloud Run | ✅ Live |
|
|
| `oss.vauco.no` | Staging-miljø | ✅ Aktiv |
|
|
| `os.vauco.no` | Prod-miljø | 🔮 Fase C |
|
|
| `costguard.oss.vauco.no` | CNAME → Cloud Run | ⏳ CG3 |
|
|
| `costguard.os.vauco.no` | Promoveres fra oss | 🔮 Fase C |
|
|
| `threadstone.vauco.no` | GitHub Pages | ✅ Live |
|
|
| `app.threadstone.vauco.no` | GitHub Pages | ✅ Live |
|
|
| `kunde1.vauco.no` | LB + IAP via Terraform | 🔮 Fase C |
|
|
|
|
### Proof of Curiosity (hos Proisp)
|
|
|
|
| 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 |
|
|
|
|
> **Notat:** Proof of Curiosity er et separat prosjekt/merkevare. Ingen repos eller infrastruktur er knyttet til disse domenene ennå. Prioriteres etter CG3 + første Vauco-kunde.
|
|
|
|
---
|
|
|
|
## 4. REPO-STRUKTUR — Fasit
|
|
|
|
### Behold (4 repos)
|
|
|
|
| Repo | Formål | Synlighet |
|
|
|------|--------|-----------|
|
|
| `OSVauco` | Alt kjerne: Cloud Run, GCP-scripts, ml/, auth/, docs/ | Privat |
|
|
| `vauco-bootstrap` | Terraform-modul for kunde-provisjonering | Privat |
|
|
| `threadstone-landing` | threadstone.vauco.no landingsside | Public |
|
|
| `vauco-saas.github.io` | app.threadstone.vauco.no (Threadstone-app) | Public |
|
|
|
|
### Arkiver (5 repos) — flytt innhold først
|
|
|
|
| Repo | Innhold flyttes til | Deretter |
|
|
|------|---------------------|----------|
|
|
| `vauco-os` | `OSVauco/docs/architecture/` | Arkiver |
|
|
| `vauco-gemini-tui-bridge` | `OSVauco/tui/` | Arkiver |
|
|
| `command-hub` | `OSVauco/static/command-hub.html` | Arkiver |
|
|
| `threadstone-instructions` | `OSVauco/docs/threadstone/` | Arkiver |
|
|
| `deep-dream` | Rør ikke — arkiver direkte | Arkiver |
|
|
|
|
---
|
|
|
|
## 5. OSVauco — INTERN MAPPESTRUKTUR (fasit)
|
|
|
|
```
|
|
OSVauco/
|
|
├── infrastructure/ # GCP-scripts (00-11)
|
|
├── scripts/ # smoke-test, utils
|
|
├── ml/ # billing_agent, anomaly_detector, feedback_loop
|
|
├── auth/ # OAuth2-flow
|
|
├── tui/ # ← vauco-gemini-tui-bridge flyttes hit
|
|
├── static/ # HTML-filer servert av Cloud Run
|
|
│ ├── billing-dashboard.html
|
|
│ ├── costguard.html ← CG3 (bygges her, ikke GitHub Pages)
|
|
│ └── command-hub.html ← fra command-hub repo
|
|
├── docs/
|
|
│ ├── MASTERPLAN.md ← autoritativ (denne filen)
|
|
│ ├── ROADMAP.md ← én roadmap, ikke to
|
|
│ ├── HANDOFF.md ← alltid én fil, overskrives per sesjon
|
|
│ ├── architecture/ ← fra vauco-os repo
|
|
│ ├── threadstone/ ← fra threadstone-instructions repo
|
|
│ └── [alle andre MD-filer]
|
|
├── .gemini/ # Gemini TUI konfig
|
|
├── .env.example
|
|
├── Dockerfile
|
|
├── main.py
|
|
└── MASTERPLAN.md ← denne filen (rot-nivå)
|
|
```
|
|
|
|
---
|
|
|
|
## 6. DOKUMENTHIERARKI — Én kilde til sannhet
|
|
|
|
| Fil | Rolle | Oppdateres |
|
|
|-----|-------|------------|
|
|
| `MASTERPLAN.md` | Arkitektur, domener, agent-identitet, infrastruktur — **aldri slett** | Ved arkitekturendringer |
|
|
| `docs/ROADMAP.md` | Fasestatus, neste steg, backlog — **levende dokument** | Hver sesjon |
|
|
| `docs/HANDOFF.md` | Alltid kun én fil — hva ble gjort, hva er neste, kjente hull | Overskrives hver sesjon |
|
|
|
|
**Regel:** Arkitektur → MASTERPLAN. Oppgave → ROADMAP. Sesjonsstatus → HANDOFF. Aldri dobbelt opp.
|
|
|
|
---
|
|
|
|
## 7. ROADMAP — Prioritert rekkefølge
|
|
|
|
### 🔴 UMIDDELBART — Rydding (gjør én gang)
|
|
|
|
| # | Oppgave | Tid |
|
|
|---|---------|-----|
|
|
| R1 | Flytt `vauco-os` → `OSVauco/docs/architecture/` | 30 min |
|
|
| R2 | Flytt `vauco-gemini-tui-bridge` → `OSVauco/tui/` | 20 min |
|
|
| R3 | Flytt `command-hub` → `OSVauco/static/command-hub.html` | 10 min |
|
|
| R4 | Arkiver de 5 reposene på GitHub | 10 min |
|
|
| R5 | Slett duplikat-MD-filer i `docs/` | 15 min |
|
|
| R6 | Synkroniser ROADMAP til faktisk repo-state | 30 min |
|
|
|
|
### 🟡 NESTE — CG3 (CostGuard landingsside)
|
|
|
|
| # | Oppgave |
|
|
|---|---------|
|
|
| CG3a | Bygg `static/costguard.html` i OSVauco (OAuth-knapp + billing embed) |
|
|
| CG3b | Sett CNAME `costguard.oss.vauco.no` → Cloud Run i Proisp |
|
|
| CG3c | Verifiser at `/static/costguard.html` er tilgjengelig via Cloud Run |
|
|
| CG3d | Test OAuth-flow fra landingssiden |
|
|
|
|
### 🟢 GO-TO-MARKET — CostGuard
|
|
|
|
| Fase | Innhold |
|
|
|------|---------|
|
|
| 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) |
|
|
|
|
### 🔵 FREMTID — Proof of Curiosity
|
|
|
|
| # | Oppgave |
|
|
|---|---------|
|
|
| POC-1 | Definer hva Proof of Curiosity er (produkt, merkevare, community?) |
|
|
| POC-2 | Velg primærdomene (anbefaling: `proofofcuriosity.io`) |
|
|
| POC-3 | Opprett repo under `vauco-saas` eller separat org |
|
|
| POC-4 | Bygg landing/MVP |
|
|
|
|
> **Trigger:** Ikke start POC før CG3 er live og første Vauco-kunde er onboardet.
|
|
|
|
---
|
|
|
|
## 8. AGENT-IDENTITET
|
|
|
|
| Identitet | E-post | Rolle |
|
|
|-----------|--------|-------|
|
|
| Eier / admin | `chris.christiansen@vauco.no` | Full kontroll |
|
|
| Agent (OPAX / Jason) | `jason.vauger@vauco.no` | `billing.viewer` — hente og rapportere kostnadsdata |
|
|
| Fremtidig gruppe | `billing@vauco.no` | `billing.viewer` (Fase C) |
|
|
|
|
---
|
|
|
|
## 9. CLOUD RUN — LIVE ENDEPUNKTER
|
|
|
|
**Service:** `osvauco-agent` | **Region:** `europe-west1`
|
|
**URL:** `https://osvauco-agent-357036551735.europe-west1.run.app`
|
|
|
|
| Endepunkt | Status |
|
|
|-----------|--------|
|
|
| `GET /health` | ✅ |
|
|
| `POST /run` | ✅ |
|
|
| `POST /run/dag` | ✅ |
|
|
| `GET /billing/summary` | ✅ |
|
|
| `GET /billing/forecast` | ✅ |
|
|
| `GET /billing/anomalies` | ✅ |
|
|
| `GET /auth/login` | ✅ |
|
|
| `GET /auth/callback` | ✅ |
|
|
| `GET /static/billing-dashboard.html` | ✅ |
|
|
| `GET /state` | ✅ |
|
|
| `GET /telemetry/history` | ✅ |
|
|
|
|
---
|
|
|
|
## 10. TUI-BRIDGE — Status
|
|
|
|
Planen var lokal TUI for å kode fra hvor som helst.
|
|
Det som skjedde: OPAX + Cloud Shell + Gemini TUI løste behovet.
|
|
|
|
**Konklusjon:** Koden bevares i `OSVauco/tui/`. Reaktiveres etter CG3 + første kunde hvis behovet melder seg igjen.
|
|
|
|
---
|
|
|
|
## 11. GO-TO-MARKET — Enkel og konkret
|
|
|
|
**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 via OPAX → HITL-møte → `terraform apply`
|
|
|
|
**Ikke selg Vauco OS. Ikke selg OPAX. De er interne verktøy.**
|
|
|
|
---
|
|
|
|
## 12. KJENTE HULL
|
|
|
|
| ID | Problem | Løsning | Prioritet |
|
|
|----|---------|---------|-----------|
|
|
| OQ-15 | BQ billing_export tabell | Venter på aktivering — sjekk neste sesjon | Medium |
|
|
| OQ-16 | Duplikat CostGuard-implementasjoner | Slett gammel, behold `ml/billing_agent.py` | Høy |
|
|
| 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-19 | MASTERPLAN/ROADMAP ikke synkronisert | Gjøres som del av R6 | Høy |
|
|
|
|
---
|
|
|
|
*OSVauco | propane-will-491900-m5 | europe-west1 | Autoritativ fra 2026-05-27*
|